lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110725094136.GE28787@elte.hu>
Date:	Mon, 25 Jul 2011 11:41:36 +0200
From:	Ingo Molnar <mingo@...e.hu>
To:	Alexander Graf <agraf@...e.de>
Cc:	Pekka Enberg <penberg@...nel.org>, Jan Kiszka <jan.kiszka@....de>,
	torvalds@...ux-foundation.org, avi@...hat.com,
	akpm@...ux-foundation.org, linux-kernel@...r.kernel.org,
	kvm@...r.kernel.org, gorcunov@...il.com, levinsasha928@...il.com,
	asias.hejun@...il.com, prasadjoshi124@...il.com
Subject: Re: [GIT PULL] Native Linux KVM tool for 3.1


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

> On 25.07.2011, at 10:54, Ingo Molnar wrote:
> 
> > 
> > * Alexander Graf <agraf@...e.de> wrote:
> > 
> >> On 25.07.2011, at 09:53, Ingo Molnar wrote:
> >> 
> >>> 
> >>> * Pekka Enberg <penberg@...nel.org> wrote:
> >>> 
> >>>> On Mon, Jul 25, 2011 at 2:12 AM, Jan Kiszka <jan.kiszka@....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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ