LWN.net Logo

Re: [ANNOUNCE] Native Linux KVM tool

From:  Ingo Molnar <mingo-AT-elte.hu>
To:  Olivier Galibert <galibert-AT-pobox.com>
Subject:  Re: [ANNOUNCE] Native Linux KVM tool
Date:  Wed, 6 Apr 2011 12:55:47 +0200
Message-ID:  <20110406105547.GA13766@elte.hu>
Cc:  Avi Kivity <avi-AT-redhat.com>, Anthony Liguori <anthony-AT-codemonkey.ws>, Pekka Enberg <penberg-AT-kernel.org>, linux-kernel-AT-vger.kernel.org, aarcange-AT-redhat.com, mtosatti-AT-redhat.com, kvm-AT-vger.kernel.org, joro-AT-8bytes.org, penberg-AT-cs.helsinki.fi, asias.hejun-AT-gmail.com, gorcunov-AT-gmail.com
Archive-link:  Article, Thread


* Olivier Galibert <galibert@pobox.com> wrote:

> On Wed, Apr 06, 2011 at 11:33:33AM +0200, Ingo Molnar wrote:
> > Examples: X11 and GCC - both were struggling for years to break through magic 
> > invisible barriers of growth and IMHO a lot of it had to do with the lack of 
> > code (and development model) cleanliness.
> 
> A large part of what's killing X11 and qemu is the decomposition in
> multiple trees and the requirement that every version must work with
> every other version.
> 
> For X11 you have:
> - the server
> - the protocol headers
> - the individual 2D drivers
> - libdrm
> - the kernel
> - mesa
> - the video decoding driver/libs
> 
> For qemu you have:
> - qemu
> - qemu-kvm
> - the kernel
> - libvirt
> - seabios
> 
> Any reaching change ends up hitting most of the trees, with all to
> coordination that means.  And in any case you're supposed to handle
> any version of the other components.

Splitting up a project into several trees, often unnecessarily, is a 
self-inflicted wound really.

Smaller projects can hurt from that as well: a well-known example is oprofile.

Pointing to the stupidity of overmodularization is one of my pet peeves, i 
consider it a "development model cleanliness" bug that needlessly exposes OSS 
projects to the negative effects of technical and social forks and 
complicates/shackles them. I flamed^W argued about it before, in the KVM / Qemu 
context as well.

There are good examples of successful, highly integrated projects:

  - FreeBSD - it has achieved Linux-alike results with a fraction of the
              manpower

  - Android - on the desktop it has achieved much more than Linux, with a
              fraction of the manpower

And that concept can be brought to its logical conclusion: i think it's only a 
matter of time until someone takes the Linux kernel, integrates klibc and a 
toolchain into it with some good initial userspace and goes wild with that 
concept, as a single, sane, 100% self-hosting and self-sufficient OSS project, 
tracking the release schedule of the Linux kernel.

It might not happen on PC hardware (which is *way* too OSS-hostile), but it 
will eventually happen IMO. It's the eventual OSS killer feature and weirdly 
enough no-one has tried it yet. (Android comes close in a sense)

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


(Log in to post comments)

Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds