All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "H. Peter Anvin" <hpa@linux.intel.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	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>,
	Pekka Enberg <penberg@kernel.org>, Michal Marek <mmarek@suse.cz>,
	Stephen Rothwell <sfr@canb.auug.org.au>
Subject: Re: kvmtool tree (Was: Re: [patch] config: fix make kvmconfig)
Date: Tue, 12 Feb 2013 10:52:49 +0100	[thread overview]
Message-ID: <20130212095249.GC20039@gmail.com> (raw)
In-Reply-To: <CA+55aFxpH2A5pTkeAt-bapN6Erac7SSEUhS9qaZ6jUhm_0EAtA@mail.gmail.com>


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Mon, Feb 11, 2013 at 9:58 AM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > So basically Pekka optimistically thought it's an eventual 
> > 'tit for tat', a constant stream of benefits to the kernel, 
> > in the hope of finding a home in the upstream kernel which 
> > would further help both projects. The kernel wants to keep 
> > the 'tit' only though.
> 
> Ingo, stop this idiotic nonsense.
> 
> You seem to think that "kvmtool is useful for kernel" is 
> somehow relevant.
> 
> IT IS TOTALLY IRRELEVANT.

Please stop misrepresenting my opinion. My argument continues to 
be that it was useful to the kernel in significant part 
*BECAUSE* tools/kvm/ was integrated into a kernel repository - 
on the main developers' systems.

You seem to take it for granted that causality cannot possibly 
go the way that these kernel enhancements came mainly because 
the tool was integrated into a kernel repo and was developed 
very consciously within a kernel repo, as a (foster-)sister 
project.

Why are you making that assumption? It's totally debatable and 
we, who experienced that development process first hand, are 
fiercely debating it.

Check the list I gave (unmodified):

"- Pekka listed new virtio drivers that were done via tools/kvm. 

 - Pekka listed ARM KVM support which was written/prototyped
   using tools/kvm.

 - There's over a dozen bugfixes in your kernel which were found
   via syscall fuzzing built into tools/kvm. (I can dig them all
   out if you want.)

 - There are several fixes in the kernel side KVM subsystem
   itself that were unearthed via tools/kvm.

 - I showed how it helped the kernel by creating user-space
   lockdep: code used in more situations means more exposure,
   more bugfixes and more contributors. (It also allowed
   immediate lockdep coverage for all the user-space mutexes
   that tools/perf/ itself uses.)"

All but the fourth item (KVM fixes) were benefits that arose 
largely because the tool was integrated into a kernel repository 
and the developers found it easy to work that way.

In at least 3 cases above I could describe the actual, specific 
development process that involved a single code base, even 
adding features to *BOTH* the tool and the kernel, in one work 
flow.

The resulting patches were then rebased after the fact (mostly 
by Pekka), to merge upstream separately while waiting for the 
tool to prove itself for upstream - losing its origin, 
motivation and its history.

Could it have been attempted separately? Yes, just like perf 
could have been tried as a separate project - but that is not 
how it happened, that is not how the development flow unfolded, 
and that is not what motivated those enhancements.

Just because it _could_ have been done independently does not 
change the plain fact that tools/kvm was immensely kernel 
focused.

Yes, it was unsolicited, yes you objected early on and loud 
enough, and the kernel did not ask for this integration to begin 
with - so there's not a hint of obligation on your part 
whatsoever, but that does not change development reality as it 
happened. I refuse to accept the rewriting of history.

> "sparse" is useful for kernel development. "git" is useful for 
> kernel development. "xterm" is useful for kernel development.

That argument is silly beyond belief. Read this list:

  - tools/kvm
  - sparse
  - git
  - xterm
  - perf

Which two tools in this list:

 - Use and focus on Linux specific system calls to provide Linux
   specific functionality?

 - Are never - and will conceivably never - run on any kernel
   which is not extremely Linux compatible?

 - Provide essential features that need serious, tool specific
   kernel side support?

 - Were used directly to create integrated features that add 
   features BOTH to the kernel and the tool, at once?

I know that this discussion is not about changing your mind 
anymore - every further email probably does the opposite.
I would accept many other arguments from you:

 - you feel uneasy about growing the kernel into any sort of 
   platform. I would disagree but it's a fair argument.

 - you think kernel developers should not do user-space 
   development and there should be a 'chinese wall' of ignorance
   and a project boundary or two between them. I would disagree 
   but it's a fair argument.

 - you think Qemu is better and is the official kernel side KVM 
   tool, and even if it's not better, it's (much) more complete 
   and a schizm is bad. It's a fair argument that I'd somewhat 
   agree with.

 - you feel that if a tool cannot survive in the harsh realities 
   of the sourceforge or github ghetto, succeeding in 
   establishing itself and then hurting generations of
   users with inconsistent, uncoordinated tinkerware, no matter 
   how Linux kernel centric the tool is conceptually, then it
   does not deserve to live at all. I would disagree but it
   would be a fair argument.

 - you feel the kernel should be fundamentally tool neutral, 
   even if the lack of coherence and elongated coordination is
   hurting the kernel, tools, developers and users. I'd disagree
   with that but it would be a fair argument.

but stop the "integration did not benefit the kernel" or 
"integration did not benefit the tool" crap please, it's 
insulting. Both claims are false even if you ignore the 
tools/perf example that shows the possible.

Thanks,

	Ingo

  reply	other threads:[~2013-02-12  9:52 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
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 [this message]
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=20130212095249.GC20039@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 \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.