public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Alexander Graf <agraf@suse.de>
Cc: Pekka Enberg <penberg@kernel.org>, Jan Kiszka <jan.kiszka@web.de>,
	torvalds@linux-foundation.org, avi@redhat.com,
	akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
	kvm@vger.kernel.org, gorcunov@gmail.com, levinsasha928@gmail.com,
	asias.hejun@gmail.com, prasadjoshi124@gmail.com
Subject: Re: [GIT PULL] Native Linux KVM tool for 3.1
Date: Mon, 25 Jul 2011 11:41:36 +0200	[thread overview]
Message-ID: <20110725094136.GE28787@elte.hu> (raw)
In-Reply-To: <C80CB058-38B3-4EA4-996F-4585F521415C@suse.de>


* Alexander Graf <agraf@suse.de> wrote:

> On 25.07.2011, at 10:54, Ingo Molnar wrote:
> 
> > 
> > * Alexander Graf <agraf@suse.de> wrote:
> > 
> >> On 25.07.2011, at 09:53, Ingo Molnar wrote:
> >> 
> >>> 
> >>> * Pekka Enberg <penberg@kernel.org> wrote:
> >>> 
> >>>> On Mon, Jul 25, 2011 at 2:12 AM, Jan Kiszka <jan.kiszka@web.de> wrote:
> >>>>> 
> >>>>> That said, I definitely appreciate the bug fixes as well as 
> >>>>> code and documentation improvements for KVM that originate from 
> >>>>> this effort! I'm just not convinced that writing a new userland 
> >>>>> and merging it into the kernel is the most efficient way to 
> >>>>> achieve that.
> >>>> 
> >>>> Just to make this crystal clear for everyone: if it weren't for 
> >>>> tools/kvm, I wouldn't be hacking on KVM at all. I've looked at 
> >>>> Qemu in the past (and a lot recently!) and I simply don't see 
> >>>> myself contributing to it, sorry. So 'most efficient' or not, I 
> >>>> think tools/kvm is a net win for Linux and KVM in general.
> >>> 
> >>> Same here - in fact i first asked Qemu to be put into tools/qemu/ 
> >>> so that it all becomes more hackable and more usable - that 
> >>> suggestion was rebuked very strongly.
> >> 
> >> So instead of thinking a bit and trying to realize that there might 
> >> be a reason people don't want all their user space in the kernel 
> >> tree you go ahead and start your own crusade of creating a new user 
> >> space. Great. That's how I always hoped Linux would be :(.
> > 
> > Not "all their user space" but the ones that are tightly 
> > integrated with the kernel to begin with. How hard is that 
> > concept to understand?
> 
> It's very hard to understand. It's similar to religion - I could 
> easily apply your point to every reasonably low-level user space 
> project out there. X for example. X needs to interact with KMS and 
> DRI and whatdoiknow. So it'd be a perfect fit to pull into tools/, 
> no?

If the graphics folks feel comfortable with that approach then yes, i 
think graphics would be a good example as well - in my experience a 
lot of the user-space pain related to graphics development comes from 
ugly version friction between various graphics components, and all 
the APIs are pretty fluid and heavily developed - which is easier to 
do within a single code repository.

But if the Xorg/graphics folks want it separate it's their decision 
and they've said it in the past that they like the current 
modularization.

If someone comes with tools/X11/ that actually *works* and provides a 
usable X11 replacement i sure would try it out and would likely 
contribute to it.

Basic infrastructure and tooling - many projects could apply but the 
most obvious choices are ones that relate to and depend on the 
kernel.

Browsers, email clients, GIMP, games, LibreOffice, not so much.

There's no clear line but that's not a problem - there are seldom any 
clear lines in life. It's a case by case issue and very much depends 
on the attributes of the project and the preferences of the 
developers who are driving it.

I can tell you my first hand experience: for tools/perf/ and 
tools/kvm/ it was highly beneficial to be developed in the kernel 
repo.

I don't see how you can validly bring religion into this discussion.

> > Virtualization is very tightly bound to the kernel, like it or 
> > not.
> 
> I don't see why. The whole point of virtualization is to model 
> simple, with KVM preferably even very-close-to-real-hardware 
> interfaces that allow you to keep things separate.

Look at tools/kvm/ - i cannot do anything useful without a Linux 
kernel under it. It's as deeply bound to the Linux kernel as it gets.

Then look at the actual drivers and interfaces within tools/kvm/. 
It's using the same symbols and conventions for 'guest' and 'host' 
side.

Check out tools/kvm/hw/i8042.c and match it up with 
include/linux/serio.h and drivers/input/serio/i8042.c - you can 
literally walk from one side to the other and understand how guest 
and host are tightly related not just functionality but also 
implementation wise.

This is how Qemu should be doing it as well btw., to ease the 
debugging of host/guest interaction bugs and to ease development.

> > So is profiling, power management and a few other things.
> 
> I'm also failing to see the reasoning here TBH.

You need to quote the full argument to see the reason in it:

> > Virtualization is very tightly bound to the kernel, like it or 
> > not. So is profiling, power management and a few other things.

It's a very simple point and observation: tools which integrate to 
the kernel so that they wouldnt even run on another kernel obviously 
are very natural to develop in tools/.

Thanks,

	Ingo

  reply	other threads:[~2011-07-25  9:42 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-24 20:37 [GIT PULL] Native Linux KVM tool for 3.1 Pekka Enberg
2011-07-24 23:12 ` Jan Kiszka
2011-07-25  7:37   ` Pekka Enberg
2011-07-25  7:53     ` Ingo Molnar
2011-07-25  8:14       ` Alexander Graf
2011-07-25  8:23         ` Pekka Enberg
2011-07-25  8:31           ` Alexander Graf
2011-07-25  8:35             ` Avi Kivity
2011-07-25 13:10               ` Joerg Roedel
2011-07-25 15:05                 ` Avi Kivity
2011-07-25  8:37             ` Pekka Enberg
2011-07-25  8:44               ` Alexander Graf
2011-07-25  8:51                 ` Pekka Enberg
2011-07-25  8:55                   ` Alexander Graf
2011-07-25  9:16               ` Ingo Molnar
2011-07-25  9:14           ` Ingo Molnar
2011-07-25  8:30         ` Pekka Enberg
2011-07-25  8:37           ` Alexander Graf
2011-07-25  8:47             ` Pekka Enberg
2011-07-25  9:06               ` Alexander Graf
2011-07-25 12:45                 ` Pekka Enberg
2011-07-25 12:47                   ` Avi Kivity
2011-07-25 12:51                     ` Sasha Levin
2011-07-25 12:54                       ` Alexander Graf
2011-07-25 13:14                         ` Sasha Levin
2011-07-25 12:51                     ` Alexander Graf
2011-07-25 13:09                       ` Pekka Enberg
2011-07-25 13:29                         ` Alexander Graf
2011-07-25  9:26               ` Ingo Molnar
2011-07-25  9:42                 ` Alexander Graf
2011-07-25 10:16                   ` Ingo Molnar
2011-07-25 10:21                     ` Alexander Graf
2011-07-25 10:35                       ` Ingo Molnar
2011-07-25 10:47             ` Ingo Molnar
2011-07-25 12:24           ` Kevin Wolf
2011-07-25 12:41             ` Pekka Enberg
2011-07-25 12:46               ` Avi Kivity
2011-07-25  8:54         ` Ingo Molnar
2011-07-25  8:59           ` Ingo Molnar
2011-07-25  9:03           ` Alexander Graf
2011-07-25  9:41             ` Ingo Molnar [this message]
2011-07-25  9:46               ` Alexander Graf
2011-07-25 10:28                 ` Ingo Molnar
2011-07-25  9:48               ` Avi Kivity
2011-07-25 10:03                 ` Ingo Molnar
2011-07-25 10:17                   ` Avi Kivity
2011-07-25 10:29                     ` Ingo Molnar
2011-07-25 11:26             ` Olivier Galibert
2011-07-25 10:38         ` Christoph Hellwig
2011-07-25 11:08           ` Ingo Molnar
2011-07-25 11:24             ` Christoph Hellwig
2011-07-25 11:32               ` Ingo Molnar
2011-07-25 11:34               ` Olivier Galibert
2011-07-25 11:41                 ` Christoph Hellwig
2011-07-25 12:09           ` Ingo Molnar
2011-07-25 12:36           ` Pekka Enberg
2011-07-25 19:21             ` david
2011-07-25 18:24     ` Jan Kiszka
2011-07-25 19:43       ` Pekka Enberg
2011-07-25  7:50   ` Sasha Levin
2011-07-25  8:34     ` Alexander Graf
2011-07-25 12:59     ` Paolo Bonzini
2011-07-25 13:16       ` Anthony Liguori
2011-07-25  1:19 ` Anthony Liguori
2011-07-25  7:27   ` Pekka Enberg
2011-07-25  7:36     ` Avi Kivity
2011-07-25  7:39       ` Pekka Enberg
2011-07-25  7:55       ` Sasha Levin
     [not found]       ` <CAFO3S428qqUAu19QjPxDDAVv+eJSX0MEfYp5y03znNi6XbEtTg@mail.gmail.com>
2011-07-25  8:11         ` Ingo Molnar
2011-07-25  8:17           ` Pekka Enberg

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=20110725094136.GE28787@elte.hu \
    --to=mingo@elte.hu \
    --cc=agraf@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=asias.hejun@gmail.com \
    --cc=avi@redhat.com \
    --cc=gorcunov@gmail.com \
    --cc=jan.kiszka@web.de \
    --cc=kvm@vger.kernel.org \
    --cc=levinsasha928@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=penberg@kernel.org \
    --cc=prasadjoshi124@gmail.com \
    --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