From: Jan Kiszka <jan.kiszka@siemens.com>
To: Sasha Levin <levinsasha928@gmail.com>
Cc: Pekka Enberg <penberg@kernel.org>,
Christoph Hellwig <hch@infradead.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Avi Kivity <avi@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Ingo Molnar <mingo@elte.hu>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: [RFC/GIT PULL] Linux KVM tool for v3.2
Date: Fri, 04 Nov 2011 17:26:15 +0100 [thread overview]
Message-ID: <4EB41227.3070708@siemens.com> (raw)
In-Reply-To: <1320419814.3334.45.camel@lappy>
On 2011-11-04 16:16, Sasha Levin wrote:
> On Fri, 2011-11-04 at 15:42 +0100, Jan Kiszka wrote:
>> On 2011-11-04 14:32, Pekka Enberg wrote:
>>> I know you don't see the benefits of integrated code base but I as a
>>> developer do.
>>
>> IIRC, this discussion still lacks striking, concrete examples from the
>> KVM tool vs. QEMU development processes.
>
> I'll give a current example: Michael and Rusty are currently considering
> a change in the virtio spec (allowing MMIO config BARs - but thats
> irrelevant).
>
> I'll quote what Anthony said about how he sees the big picture of how
> this change is going to be implemented - something which we all agree
> with:
>
> On Thu, 2011-11-03 at 09:37 -0500, Anthony Liguori wrote:
>> Well, what's needed before the spec is changed is an interesting question, but I
>> think the main thing is, don't commit any virtio ABI changes to vhost, QEMU,
>> NKT, or the kernel until the spec for the change has been committed.
>>
>> It would be nice to have a working implementation before committing a spec
>> change. Even nicer would be to have Acked-by's a maintainer in each area affected.
>
> Which is pretty smart. Get a working implementation before we commit to
> a spec.
>
> Now, how would the development process look when the trees aren't
> integrated? You'd try to get the kernel side stabilized, then you'd do
> your usermode changes, go back to the kernel patches to fix bugs and
> things people missed, which would require in turn new patches to the
> usermode part, and so until you get 5-6 versions (best case) of this
> change in *each* tree.
This can happen if the kernel API went totally wrong on the first run.
It happens, but not frequently. Or do you see many examples for this in
KVM's history?
I don't remember finding this particularly problematic for any of my own
patch sets. If the API is controversial, you usually try to get that
conceptually resolved instead of updating all bits over and over again.
Once the API is accepted, changes to the implementations become
independent anyway.
>
> Add some technical difficulties which just make it uglier, such as
> having to copy over new kernel headers into the usermode tool for each
> new version you want to send (linux-headers/ dir in QEMU) and you get a
> process which is not that pretty anymore :)
Synching headers has become trivial these days (reloading updated KVM
modules may take more steps ;) ).
>
> How would it look for an integrated project? You'd be working on the
> same codebase, one series of patches would take care of both the kernel
> changes and the userspace changes, this would speed up iterations and
> make testing quite easier.
I can't imagine that the ability to do a single 'make' for a change that
remains split nevertheless justifies merging more user land into the
kernel. You can always set up a meta project for this.
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
next prev parent reply other threads:[~2011-11-04 16:26 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-04 8:38 [RFC/GIT PULL] Linux KVM tool for v3.2 Pekka Enberg
2011-11-04 12:16 ` Christoph Hellwig
2011-11-04 12:35 ` Pekka Enberg
2011-11-04 13:02 ` Christoph Hellwig
2011-11-04 13:32 ` Pekka Enberg
2011-11-04 14:42 ` Jan Kiszka
2011-11-04 15:16 ` Sasha Levin
2011-11-04 16:26 ` Jan Kiszka [this message]
2011-11-04 16:48 ` Sasha Levin
2011-11-04 17:33 ` Jan Kiszka
2011-11-04 16:13 ` Joerg Roedel
2011-11-04 16:42 ` Jan Kiszka
2011-11-04 17:41 ` Pekka Enberg
2011-11-04 13:14 ` Joerg Roedel
2011-11-04 14:47 ` Jan Kiszka
2011-11-08 14:44 ` richard -rw- weinberger
2011-11-08 15:36 ` Pekka Enberg
2011-11-08 16:00 ` richard -rw- weinberger
2011-11-10 3:50 ` Anthony Liguori
2011-11-10 6:46 ` Pekka Enberg
2011-11-10 7:57 ` Markus Armbruster
2011-11-10 8:21 ` Pekka Enberg
2011-11-10 8:23 ` Sasha Levin
2011-11-10 8:28 ` Pekka Enberg
2011-11-10 8:57 ` Markus Armbruster
2011-11-10 9:04 ` Sasha Levin
2011-11-10 9:09 ` Avi Kivity
2011-11-10 9:14 ` Sasha Levin
2011-11-10 9:23 ` Avi Kivity
2011-11-10 9:34 ` Sasha Levin
2011-11-10 9:43 ` Avi Kivity
2011-11-10 9:49 ` Sasha Levin
2011-11-10 9:50 ` Avi Kivity
2011-11-10 9:48 ` Markus Armbruster
2011-11-10 13:43 ` Anthony Liguori
2011-11-10 13:56 ` Pekka Enberg
2011-11-10 14:47 ` Markus Armbruster
2011-11-10 15:33 ` Stefan Hajnoczi
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=4EB41227.3070708@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=akpm@linux-foundation.org \
--cc=avi@redhat.com \
--cc=hch@infradead.org \
--cc=kvm@vger.kernel.org \
--cc=levinsasha928@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=penberg@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox