qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@redhat.com>
To: Theodore Tso <tytso@mit.edu>
Cc: "Alexander Graf" <agraf@suse.de>,
	"Peter Zijlstra" <a.p.zijlstra@chello.nl>,
	"kvm@vger.kernel.org list" <kvm@vger.kernel.org>,
	"qemu-devel Developers" <qemu-devel@nongnu.org>,
	"Vince Weaver" <vince@deater.net>,
	"linux-kernel@vger.kernel.org List"
	<linux-kernel@vger.kernel.org>,
	"Pekka Enberg" <penberg@kernel.org>,
	"Blue Swirl" <blauwirbel@gmail.com>,
	"Avi Kivity" <avi@redhat.com>,
	"Américo Wang" <xiyou.wangcong@gmail.com>,
	"Ingo Molnar" <mingo@elte.hu>,
	"Linus Torvalds" <torvalds@linux-foundation.org>,
	"Thomas Gleixner" <tglx@linutronix.de>
Subject: Re: [Qemu-devel] [F.A.Q.] the advantages of a shared tool/kernel Git	repository, tools/perf/ and tools/kvm/
Date: Tue, 8 Nov 2011 10:56:09 -0200	[thread overview]
Message-ID: <20111108125609.GA14272@ghostprotocols.net> (raw)
In-Reply-To: <EDBAFB6F-4E3B-42B0-93E6-DF162B9859A6@mit.edu>

Em Tue, Nov 08, 2011 at 05:21:50AM -0500, Theodore Tso escreveu:
> 
> On Nov 8, 2011, at 4:32 AM, Ingo Molnar wrote:
> > 
> > No ifs and when about it, these are the plain facts:
> > 
> > - Better features, better ABIs: perf maintainers can enforce clean, 
> >   functional and usable tooling support *before* committing to an 
> >   ABI on the kernel side.

> "We don't have to be careful about breaking interface compatibility
> while we are developing new features".

My normal working environment is an MRG PREEMPT_RT kernel (2.6.33.9,
test kernels based on 3.0+) running on enterprise distros while I
develop the userspace part.

So no, at least for me, I don't keep updating the kernel part while
developing userspace.
 
> The flip side of this is that it's not obvious when an interface is
> stable, and when it is still subject to change.  It makes life much
> harder for any userspace code that doesn't live in the kernel.   And I
> think we do agree that moving all of userspace into a single git tree
> makes no sense, right?

Right, but that is the extreme as well, right?
 
> > - We have a shared Git tree with unified, visible version control. I
> >   can see kernel feature commits followed by tooling support, in a
> >   single flow of related commits:
> > 
> >      perf probe: Update perf-probe document
> >      perf probe: Support --del option
> >      trace-kprobe: Support delete probe syntax
> > 
> >   With two separate Git repositories this kind of connection between
> >   the tool and the kernel is inevitably weakened or lost.
 
> "We don't have to clearly document new interfaces between kernel and
> userspace, and instead rely on git commit order for people to figure
> out what's going on with some new interface"

Indeed, documentation is lacking, I think coming from a kernel
standpoint I relied too much in the "documentation is source code"
mantra of old days.

But I realize its a necessity and also that regression testing is as
well another necessity.

I introduced 'perf test' for this later need and rejoice everytime
people submit new test cases, like Jiri and Han did in the past, its
just that we need more of both, documentation and regression testing.

Unfortunately that is not so sexy and I have my hands full not just with
perf :-\
 
> > - Easier development, easier testing: if you work on a kernel 
> >   feature and on matching tooling support then it's *much* easier to
> >   work in a single tree than working in two or more trees in 
> >   parallel. I have worked on multi-tree features before, and except
> >   special exceptions they are generally a big pain to develop.
 
> I've developed in the split tree systems, and it's really not that
> hard.  It does mean you have to be explicit about designing interfaces
> up front, and then you have to have a good, robust way of negotiating
> what features are in the kernel, and what features are supposed by the
> userspace --- but if you don't do that then having good backwards and
> forwards compatibility between different versions of the tool simply
> doesn't exist.
 
> So at the end of the day it question is whether you want to be able to
> (for example) update e2fsck to get better ability to fix more file
> system corruptions, without needing to upgrade the kernel.   If you
> want to be able to use a newer, better e2fsck with an older,
> enterprise kernel, then you have use certain programming disciplines.
> That's where the work is, not in whether you have to maintain two git
> trees or a single git tree.

But it can as well be achieved with a single tree, or do you think
having a single tree makes that impossible to achieve? As I said I do
development basically using the split model at least for testing new
tools on older kernels.

People using the tools while developing mostly the kernel or both
kperf/uperf components do the test on the combined kernel + perf
sources.
 
> > - We are using and enforcing established quality control and coding
> >   principles of the kernel project. If we mess up then Linus pushes
> >   back on us at the last line of defense - and has pushed back on us
> >   in the past. I think many of the currently external kernel
> >   utilities could benefit from the resulting rise in quality.
> >   I've seen separate tool projects degrade into barely usable
> >   tinkerware - that i think cannot happen to perf, regardless of who
> >   maintains it in the future.
 
> That's basically saying that if you don't have someone competent
> managing the git tree and providing quality assurance, life gets hard.
> Sure.   But at the same time, does it scale to move all of userspace
> under one git tree and depending on Linus to push back? 

8 or 80 again :-\
 
> I mean, it would have been nice to move all of GNOME 3 under the Linux
> kernel, so Linus could have pushed back on behalf of all of us power

Sheesh, all of gnome? How closely related and used in kernel development
is gnome? gnome 3?

> users, but as much as many of us would have appreciated someone being
> able to push back against the insanity which is the GNOME design
> process, is that really a good enough excuse to move all of GNOME 3
> into the kernel source tree?   :-)

No, but again, you're taking it to the extreme.

- Arnaldo

  parent reply	other threads:[~2011-11-08 12:57 UTC|newest]

Thread overview: 158+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-06  1:35 [Qemu-devel] [PATCH] KVM: Add wrapper script around QEMU to test kernels Alexander Graf
2011-11-06  1:14 ` 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                             ` 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                                                   ` [Qemu-devel] [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                                                     ` [Qemu-devel] [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
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 [this message]
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                       ` 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                             ` 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                               ` 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                                 ` 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 17:09                       ` Alexander Graf
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=20111108125609.GA14272@ghostprotocols.net \
    --to=acme@redhat.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=agraf@suse.de \
    --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=tytso@mit.edu \
    --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;
as well as URLs for NNTP newsgroup(s).