public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Ted Ts'o" <tytso@mit.edu>
To: Ingo Molnar <mingo@elte.hu>
Cc: "Anthony Liguori" <anthony@codemonkey.ws>,
	"Pekka Enberg" <penberg@kernel.org>,
	"Vince Weaver" <vince@deater.net>, "Avi Kivity" <avi@redhat.com>,
	"kvm@vger.kernel.org list" <kvm@vger.kernel.org>,
	"linux-kernel@vger.kernel.org List"
	<linux-kernel@vger.kernel.org>,
	"qemu-devel Developers" <qemu-devel@nongnu.org>,
	"Alexander Graf" <agraf@suse.de>,
	"Blue Swirl" <blauwirbel@gmail.com>,
	"Américo Wang" <xiyou.wangcong@gmail.com>,
	"Linus Torvalds" <torvalds@linux-foundation.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Peter Zijlstra" <a.p.zijlstra@chello.nl>,
	"Arnaldo Carvalho de Melo" <acme@redhat.com>
Subject: Re: [F.A.Q.] the advantages of a shared tool/kernel Git repository, tools/perf/ and tools/kvm/
Date: Tue, 8 Nov 2011 11:33:31 -0500	[thread overview]
Message-ID: <20111108163331.GJ24234@thunk.org> (raw)
In-Reply-To: <20111108125509.GB1022@elte.hu>

On Tue, Nov 08, 2011 at 01:55:09PM +0100, Ingo Molnar wrote:
> I guess you can do well with a split project as well - my main claim 
> is that good compatibility comes *naturally* with integration.

Here I have to disagree; my main worry is that integration makes it
*naturally* easy for people to skip the hard work needed to keep a
stable kernel/userspace interface.

The other worry which I've mentioned, but which I haven't seen
addressed, is that the even if you can use a perf from a newer kernel
with an older kernel, this causes distributions a huge amount of pain,
since they have to package two different kernel source packages, and
only compile perf from the newer kernel source package.  This leads to
all sorts of confusion from a distribution packaging point of view.

For example, assume that RHEL 5, which is using 2.6.32 or something
like that, wants to use a newer e2fsck that does a better job fixing
file system corruptions.  If it were bundled with the kernel, then
they would have to package up the v3.1 kernel sources, and have a
source RPM that isn't used for building kernel sources, but just to
build a newer version of e2fsck.  Fortunately, they don't have to do
that.  They just pull down a newer version of e2fsprogs, and package,
build, test, and ship that.

In addition, suppose Red Hat ships a security bug fix which means a
new kernel-image RPM has to be shipped.  Does that mean that Red Hat
has to ship new binary RPM's for any and all tools/* programs that
they have packaged as separate RPM's?  Or should installing a new
kernel RPM also imply dropping new binaries in /usr/bin/perf, et. al?
There are all sorts of packaging questions that are raised
integration, and from where I sit I don't think they've been
adequately solved yet.


> Did you consider it a possibility that out of tree projects that have 
> deep ties to the kernel technically seem to be at a relative 
> disadvantage to in-kernel projects because separation is technically 
> costly with the costs of separation being larger than the advantages 
> of separation?

As the e2fsprogs developer, I live with the costs all the time; I can
testify to the facy that they are very slight.  Occasionally I have to
make parallel changes to fs/ext4/ext4.h in the kernel and
lib/ext2fs/ext2fs.h in e2fsprogs, and we use various different
techniques to detect whether the ext4 kernel code supports a
particular feature (we use the presence or absence of some sysfs
files), but it's really not been hard for us.

> But note that there are several OS projects that succeeded doing the 
> equivalent of a 'whole world' single Git repo, so i don't think we 
> have the basis to claim that it *cannot* work.

There have indeed, and there has speculation that this was one of many
contributions to why they lost out in the popularity and adoption
competition with Linux.  (Specifically, the reasoning goes that the
need to package up the kernel plus userspace meant that we had
distributions in the Linux ecosystem, and the competition kept
everyone honest.  If one distribution started making insane decisions,
whether it's forcing Unity on everyone, or forcing GNOME 3 on
everyone, it's always possible to switch to another distribution.  The
*BSD systems didn't have that safety valve....)


> But why do you have to think in absolutes and extremes all the time? 
> Why not excercise some good case by case judgement about the merits 
> of integration versus separation?

I agree that there are tradeoffs to both approaches, and I agree that
case by case judgement is something that should be done.  One of the
reasons why I've spent a lot of time pointing out the downsides of
integration and the shortcomings in the integration position is that
I've seen advocates claiming that the fact that was perf was
integrated was a precedent that meant that choice for kvm-tool was
something that should not be questioned since tools/perf justified
anything they wanted to do, and that if we wanted to argue about
whether kvm-tool should have been bundled into the kernel, we should
made different decisions about perf.

Regards,

						- Ted

  reply	other threads:[~2011-11-08 16:33 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-06  1:35 [PATCH] KVM: Add wrapper script around QEMU to test kernels Alexander Graf
2011-11-06  1:14 ` [Qemu-devel] " Andreas Färber
2011-11-06 10:04 ` Pekka Enberg
2011-11-06 10:07   ` Avi Kivity
2011-11-06 10:12     ` Pekka Enberg
2011-11-06 10:23       ` Avi Kivity
2011-11-06 11:08         ` Pekka Enberg
2011-11-06 11:50           ` Avi Kivity
2011-11-06 12:14             ` Pekka Enberg
2011-11-06 12:27               ` Avi Kivity
2011-11-06 12:32                 ` Pekka Enberg
2011-11-06 12:43                   ` Avi Kivity
2011-11-06 13:06                     ` Pekka Enberg
2011-11-06 15:56                       ` Avi Kivity
2011-11-06 16:35                         ` Pekka Enberg
2011-11-06 16:50                           ` Avi Kivity
2011-11-06 17:08                             ` [Qemu-devel] " Anthony Liguori
2011-11-06 18:09                               ` Pekka Enberg
2011-11-07  1:38                                 ` Anthony Liguori
2011-11-07  6:45                                   ` Pekka Enberg
2011-11-06 18:31                               ` Ted Ts'o
2011-11-06 18:54                                 ` Pekka Enberg
2011-11-06 18:58                                   ` Pekka Enberg
2011-11-06 23:19                                     ` Ted Ts'o
2011-11-07  6:42                                       ` Pekka Enberg
2011-11-07 17:03                                         ` Vince Weaver
2011-11-07 17:59                                           ` Ingo Molnar
2011-11-07 20:03                                             ` Frank Ch. Eigler
2011-11-07 20:09                                               ` Pekka Enberg
2011-11-07 20:35                                                 ` Ted Ts'o
2011-11-08 10:22                                                   ` [F.A.Q.] perf ABI backwards and forwards compatibility Ingo Molnar
2011-11-08 10:32                                                     ` Peter Zijlstra
2011-11-08 11:34                                                       ` Ingo Molnar
2011-11-08 10:41                                                     ` Theodore Tso
2011-11-08 11:20                                                       ` Pekka Enberg
2011-11-08 11:25                                                         ` Theodore Tso
2011-11-08 11:29                                                           ` Pekka Enberg
2011-11-08 11:31                                                     ` Frank Ch. Eigler
2011-11-08 11:39                                                       ` Pekka Enberg
2011-11-08 12:15                                                         ` Ingo Molnar
2011-11-08 12:20                                                           ` Peter Zijlstra
2011-11-08 12:59                                                             ` Ingo Molnar
2011-11-09 10:05                                                               ` Peter Zijlstra
2011-11-08  5:29                                             ` [Qemu-devel] [PATCH] KVM: Add wrapper script around QEMU to test kernels Vince Weaver
2011-11-08 12:07                                               ` Ingo Molnar
2011-11-08 13:08                                                 ` Arnaldo Carvalho de Melo
2011-11-09  6:04                                                   ` Vince Weaver
2011-11-07 19:53                                           ` Pekka Enberg
2011-11-07 20:32                                             ` Ted Ts'o
2011-11-07 21:36                                               ` Pekka Enberg
2011-11-07 22:19                                                 ` Anthony Liguori
2011-11-07 23:42                                                   ` Theodore Tso
2011-11-08  9:32                                                     ` [F.A.Q.] the advantages of a shared tool/kernel Git repository, tools/perf/ and tools/kvm/ Ingo Molnar
2011-11-08 10:21                                                       ` Theodore Tso
2011-11-08 12:55                                                         ` Ingo Molnar
2011-11-08 16:33                                                           ` Ted Ts'o [this message]
2011-11-08 17:14                                                             ` Anca Emanuel
2011-11-08 19:24                                                               ` Ted Ts'o
2011-11-09  8:28                                                                 ` Ingo Molnar
2011-11-08 21:15                                                             ` John Kacur
2011-11-09  8:38                                                               ` Ingo Molnar
2011-11-09  8:23                                                             ` Ingo Molnar
2011-11-10  1:41                                                               ` Alexander Graf
2011-11-10  8:14                                                                 ` Ingo Molnar
2011-11-08 12:56                                                         ` Arnaldo Carvalho de Melo
2011-11-08 13:40                                                           ` Gerd Hoffmann
2011-11-08 14:32                                                             ` Arnaldo Carvalho de Melo
2011-11-08 15:38                                                               ` Gerd Hoffmann
2011-11-08 16:13                                                                 ` Arnaldo Carvalho de Melo
2011-11-09  8:55                                                                   ` Ingo Molnar
2011-11-09  8:51                                                                 ` Ingo Molnar
2011-11-09 10:40                                                                   ` Gerd Hoffmann
2011-11-09 10:50                                                                     ` Hagen Paul Pfeifer
2011-11-09 11:55                                                                     ` Arnaldo Carvalho de Melo
2011-11-09 12:26                                                                       ` Gerd Hoffmann
2011-11-09 12:30                                                                         ` Arnaldo Carvalho de Melo
2011-11-09 12:33                                                                           ` Arnaldo Carvalho de Melo
2011-11-09 12:46                                                                             ` Peter Zijlstra
2011-11-09 12:51                                                                               ` Arnaldo Carvalho de Melo
2011-11-09 13:17                                                                             ` Ingo Molnar
2011-11-09 19:25                                                                       ` Jim Paris
2011-11-09 20:13                                                                         ` Arnaldo Carvalho de Melo
2011-11-09 22:32                                                                           ` Anca Emanuel
2011-11-10  8:00                                                                             ` Ingo Molnar
2011-11-10  8:12                                                                               ` Anca Emanuel
2011-11-10  8:39                                                                         ` Gerd Hoffmann
2011-11-08 15:43                                                       ` Steven Rostedt
2011-11-09  9:21                                                         ` Ingo Molnar
2011-11-09 12:03                                                           ` Arnaldo Carvalho de Melo
2011-11-09 13:40                                                       ` Américo Wang
2011-11-10  7:47                                                         ` Ingo Molnar
2011-11-07 10:31                                 ` [Qemu-devel] [PATCH] KVM: Add wrapper script around QEMU to test kernels Kevin Wolf
2011-11-07 11:38                                   ` Pekka Enberg
2011-11-07 11:59                                     ` Kevin Wolf
2011-11-06 16:19                       ` Jan Kiszka
2011-11-06 16:30                         ` Pekka Enberg
2011-11-06 16:39                           ` Jan Kiszka
2011-11-06 17:11                             ` Pekka Enberg
2011-11-06 17:23                               ` Jan Kiszka
2011-11-06 17:55                                 ` Pekka Enberg
2011-11-06 16:39                         ` Pekka Enberg
2011-11-07 10:11                         ` Gerd Hoffmann
2011-11-07 10:18                           ` Pekka Enberg
2011-11-06 17:10                       ` [Qemu-devel] " Anthony Liguori
2011-11-06 17:15                       ` Alexander Graf
2011-11-06 17:28                         ` Pekka Enberg
2011-11-06 17:30                           ` Alexander Graf
2011-11-06 18:05                             ` Pekka Enberg
2011-11-06 19:14                               ` Paolo Bonzini
2011-11-06 19:19                                 ` Pekka Enberg
2011-11-06 22:08                             ` Frank Ch. Eigler
2011-11-07  6:58                               ` Pekka Enberg
2011-11-06 19:11                           ` Paolo Bonzini
2011-11-06 19:17                             ` Pekka Enberg
2011-11-06 20:01                               ` Paolo Bonzini
2011-11-06 20:17                                 ` Pekka Enberg
2011-11-07  8:00                                   ` Paolo Bonzini
2011-11-07  8:09                                     ` Pekka Enberg
2011-11-07  8:20                                       ` Paolo Bonzini
2011-11-07  8:45                                         ` Pekka Enberg
2011-11-07  8:52                                           ` Paolo Bonzini
2011-11-07  8:57                                             ` Pekka Enberg
2011-11-07  8:13                                     ` Pekka Enberg
2011-11-06 20:31                                 ` Pekka Enberg
2011-11-07 10:23                           ` Gerd Hoffmann
2011-11-07 10:30                             ` [Qemu-devel] " Sasha Levin
2011-11-07 11:02                               ` Paolo Bonzini
2011-11-07 11:44                                 ` Pekka Enberg
2011-11-07 12:18                                   ` Gerd Hoffmann
2011-11-07 12:21                                     ` Pekka Enberg
2011-11-07 12:26                               ` [Qemu-devel] " Avi Kivity
2011-11-07 12:29                                 ` Pekka Enberg
2011-11-07 12:43                                   ` Ted Ts'o
2011-11-07 12:44                                   ` Avi Kivity
2011-11-07 11:34                             ` Pekka Enberg
2011-11-07 11:57                               ` Ingo Molnar
2011-11-07 13:17                                 ` [Qemu-devel] " Anthony Liguori
2011-11-07 12:08                               ` Gerd Hoffmann
2011-11-07 12:29                                 ` Ted Ts'o
2011-11-07 12:42                                   ` Pekka Enberg
2011-11-07 12:47                                     ` Ted Ts'o
2011-11-07 12:59                                       ` Pekka Enberg
2011-11-07 13:12                                       ` Pekka Enberg
2011-11-08 13:29                                         ` Karel Zak
2011-11-08 14:30                                           ` Pekka Enberg
2011-11-06 13:11                     ` Pekka Enberg
2011-11-06 12:27             ` Pekka Enberg
2011-11-08 14:41 ` Avi Kivity
2011-11-08 14:52   ` Christoph Hellwig
2011-11-08 14:55     ` Sasha Levin
2011-11-08 14:57     ` Avi Kivity
2011-11-08 14:59       ` Christoph Hellwig
2011-11-08 17:34         ` Alexander Graf
2011-11-08 17:36           ` Avi Kivity
2011-11-08 15:04     ` Jan Kiszka
2011-11-08 15:26     ` Pekka Enberg
2011-11-08 15:28       ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111108163331.GJ24234@thunk.org \
    --to=tytso@mit.edu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@redhat.com \
    --cc=agraf@suse.de \
    --cc=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=penberg@kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=vince@deater.net \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox