linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: "Theodore Ts'o" <tytso@mit.edu>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Pekka Enberg <penberg@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"H. Peter Anvin" <hpa@linux.intel.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	David Rientjes <rientjes@google.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Sasha Levin <levinsasha928@gmail.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Michal Marek <mmarek@suse.cz>,
	Stephen Rothwell <sfr@canb.auug.org.au>
Subject: Re: kvmtool tree (Was: Re: [patch] config: fix make kvmconfig)
Date: Mon, 11 Feb 2013 13:38:27 +0100	[thread overview]
Message-ID: <20130211123827.GB5802@gmail.com> (raw)
In-Reply-To: <20130209210640.GG8091@thunk.org>


* Theodore Ts'o <tytso@mit.edu> wrote:

> I completely agree with Linus here; in fact, the main reason 
> why it's important to keep userspace tools outside of the 
> kernel is that it keeps us careful about interface design.

We have first hand experience there: tools/perf/.

None of the predicted extreme badness happened. Yes, sometimes 
we broke compatibility as ABI changes/enhancements do - but 
treated them as regressions and fixed them. I also think that 
considering the rate of changes our breakage ratio is very good.

So no badness happened, and in fact a lot of goodness happened: 
which goodness never happened while Linux profiling was a 
separate project isolated as a user-space utility!

Anyone opposing integration I think *HAS* to explain the 
mechanics behind this very example in plain sight.

Why the heck has pretty much every other out of tree profiling 
project died, while the in-tree one is thriving?

Yes, the key is that Arnaldo is good, and so are the other perf 
contributors - and they are good because they feel at home and 
they are productive. Being in the kernel repo is actually 90% 
responsible for that environment!

> For example, I consider it a *feature* that when we extend the 
> file system data structures for ext4, [...]

I consider filesystems the most extreme example. It's so extreme 
that it's almost a separate class for itself.

Filesystems have the most extreme data persistency constraints 
possible: they define the ABI and anything that gets written out 
through them to persistent storage stays there forever and has 
to work, years down the line. So one must be absolutely, 110% 
careful - to the level of inventing new validation technologies 
just to be more careful.

*NONE* of that applies to tools/perf/ or tools/kvm/: neither 
really writes any data structure defined by itself that will be 
persistent forever. perf.data comes closest, but when was it the 
last time you used a year old perf.data? I'd say never. It 
either gets used within a few days or does not get used at all.

( Yet we even keep perf.data compatibility because being careful 
  about data is generally good technology - it's just not 
  *critical*. )

Same goes for tools/kvm/: it has very short data persistency 
latency as well. Such are in fact most other kernel related 
utilities.

So your 'filesystem utilities' example is totally inapplicable 
to tools/perf/ and tools/kvm/. Shaping all utilities based on 
that extreme example is a sad mistake.

Thanks,

	Ingo

  reply	other threads:[~2013-02-11 12:38 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-20 21:51 [PATCH] x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT David Woodhouse
2012-12-21  2:07 ` [tip:x86/build] x86: Default to ARCH= x86 " tip-bot for David Woodhouse
2012-12-26  6:32   ` David Rientjes
2012-12-26  8:43     ` David Woodhouse
2012-12-26 10:44       ` David Rientjes
2012-12-26 12:38         ` David Woodhouse
2012-12-26 22:00           ` David Rientjes
2012-12-26 22:19             ` David Woodhouse
2012-12-27  1:52               ` David Rientjes
2012-12-27  8:01                 ` David Woodhouse
2012-12-26 22:30             ` Jesper Juhl
2012-12-26 23:07             ` David Woodhouse
2012-12-26 23:13             ` H. Peter Anvin
2012-12-26 23:32     ` [tip] config: Add 'make kvmconfig' David Woodhouse
2012-12-27  1:08       ` Randy Dunlap
2013-02-04 18:20         ` [patch] config: fix make kvmconfig David Rientjes
2013-02-04 18:44           ` Ingo Molnar
2013-02-04 18:57             ` David Rientjes
2013-02-04 19:11               ` Ingo Molnar
2013-02-04 19:14               ` Greg Kroah-Hartman
2013-02-04 19:13                 ` Ingo Molnar
2013-02-06 18:25                   ` Pekka Enberg
2013-02-06 20:12                     ` David Rientjes
2013-02-06 20:45                       ` Pekka Enberg
2013-02-06 21:02                       ` kvmtool tree (Was: Re: [patch] config: fix make kvmconfig) Stephen Rothwell
2013-02-06 21:46                         ` Ingo Molnar
2013-02-06 21:55                           ` H. Peter Anvin
2013-02-07 21:44                             ` Stephen Rothwell
2013-02-07 21:40                           ` Stephen Rothwell
2013-02-08 14:55                             ` Ingo Molnar
2013-02-08 21:14                               ` Linus Torvalds
2013-02-08 23:57                                 ` Pekka Enberg
2013-02-09  0:45                                   ` Linus Torvalds
2013-02-09 10:01                                     ` Pekka Enberg
2013-02-09 18:07                                       ` Linus Torvalds
2013-02-09 19:39                                         ` Pekka Enberg
2013-02-09 19:57                                           ` Linus Torvalds
2013-02-09 21:06                                             ` Theodore Ts'o
2013-02-11 12:38                                               ` Ingo Molnar [this message]
2013-02-11 12:26                                             ` Ingo Molnar
2013-02-11 12:56                                               ` Ingo Molnar
2013-02-11 13:18                                                 ` David Woodhouse
2013-02-11 13:58                                                   ` Anca Emanuel
2013-02-11 16:34                                                   ` Linus Torvalds
2013-02-11 17:34                                                     ` H. Peter Anvin
2013-02-11 17:41                                                   ` Ingo Molnar
2013-02-11 14:47                                               ` Pekka Enberg
2013-02-11 16:46                                                 ` David Woodhouse
2013-02-11 17:26                                                   ` Anca Emanuel
2013-02-11 16:32                                               ` Linus Torvalds
2013-02-11 17:28                                                 ` Ingo Molnar
     [not found]                                                   ` <CA+55aFx-0-qcYMqH2wnJJ7iAPhoEvD_EQ0xqVW3VGS3G9=_1_w@mail.gmail.com>
2013-02-11 17:58                                                     ` Ingo Molnar
2013-02-11 23:32                                                       ` Linus Torvalds
2013-02-12  9:52                                                         ` Ingo Molnar
2013-02-13  8:23                                                           ` Paolo Bonzini
2013-02-13  8:56                                                             ` Pekka Enberg
2013-02-13  9:23                                                               ` Ingo Molnar
2013-02-14 15:32                                                               ` Anthony Liguori
2013-02-19  8:08                               ` Ingo Molnar
2013-01-12 17:06   ` [tip:x86/build] x86: Default to ARCH= x86 to avoid overriding CONFIG_64BIT Borislav Petkov
2013-01-12 17:40     ` H. Peter Anvin
2013-01-12 18:08       ` Borislav Petkov
2013-01-12 18:10         ` H. Peter Anvin
2013-04-12 16:01 ` [PATCH] x86: Default to ARCH=x86 " richard -rw- weinberger
2013-04-12 16:38   ` David Woodhouse

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=20130211123827.GB5802@gmail.com \
    --to=mingo@kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpa@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=levinsasha928@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mmarek@suse.cz \
    --cc=penberg@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=rientjes@google.com \
    --cc=sfr@canb.auug.org.au \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@mit.edu \
    /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).