From: Thomas Gleixner <tglx@linutronix.de>
To: George Dunlap <george.dunlap@eu.citrix.com>
Cc: David Miller <davem@davemloft.net>,
"jeremy@goop.org" <jeremy@goop.org>,
"mingo@elte.hu" <mingo@elte.hu>,
Dan Magenheimer <dan.magenheimer@oracle.com>,
"avi@redhat.com" <avi@redhat.com>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"x86@kernel.org" <x86@kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Keir Fraser <Keir.Fraser@eu.citrix.com>,
"torvalds@linux-foundation.org" <torvalds@linux-foundation.org>,
"gregkh@suse.de" <gregkh@suse.de>,
"kurt.hackel@oracle.com" <kurt.hackel@oracle.com>,
Ian Pratt <Ian.Pratt@eu.citrix.com>,
"xen-users@lists.xensource.com" <xen-users@lists.xensource.com>,
ksrinivasan <ksrinivasan@novell.com>,
"EAnderson@novell.com" <EAnderson@novell.com>,
"wimcoekaerts@wimmekes.net" <wimcoekaerts@wimmekes.net>,
Stephen Spector <stephen.spector@citrix.com>,
"jens.axboe@oracle.com" <jens.axboe@oracle.com>,
"npiggin@suse.de" <npiggin@suse.de>
Subject: Re: Xen is a feature
Date: Tue, 2 Jun 2009 20:59:04 +0200 (CEST) [thread overview]
Message-ID: <alpine.LFD.2.00.0906021922580.3419@localhost.localdomain> (raw)
In-Reply-To: <4A25564A.70608@eu.citrix.com>
On Tue, 2 Jun 2009, George Dunlap wrote:
> Thomas Gleixner wrote:
> > Exactly that's the point. Adding dom0 makes life easier for a group of
> > users who decided to use Xen some time ago, but what Ingo wants is
> > technical improvement of the kernel.
> >
> > There are many features which have been wildly used in the distro
> > world where developers tried to push support into the kernel with the
> > same line of arguments.
> >
> > The kernel policy always was and still is to accept only those
> > features which have a technical benefit to the code base.
> >
> I can appreciate the idea of resisting the pushing of random features. Still,
> your definition of "improving Linux" is still lacking. Obviously a new
> scheduler is taking something that's existing and improving it. But adding a
> new filesystem, a new driver, or adding a new feature, such as notifications,
> AIO, a new hardware architecture, or even KVM: How do those classify as
> "technical improvement to the kernel" or "features which have technical
> benefit to the code base" in a way that Xen does not?
There is a huge difference between new filesystems, drivers,
architectures and Xen.
A new filesystem is not intrusive to the filesystem layers, it's not
adding its special cases all over the place. There is no single "if
(fs_whatever)" hackery in the code base. Neither does a driver nor a
new architecture.
If the new functionality needs some extension to the generic code base
then this is carefully added with the maintainers of that code and the
extension is usually useful to other (filesystems, drivers,
architectures) as well. If it's necessary to add some special case for
one architecture then this is done by proper abstraction to keep the
burden and the maintainence cost down.
There is no #ifdef ARCH_ARM in mm/ fs/ kernel/ block/ .....
Talking about KVM, there is not a single "if (kvm)" line in the
arch/x86 code base. There is _ONE_ lonely #ifdef CONFIG_KVM_CLOCK
(which could be eliminated) in the whole x86 codebase, but at least 10
CONFIG_XEN* ones all over the place. The KVM developers went great
length to avoid adding restrictions to the existing code base.
I'm not saying that the Xen folks did not listen to us, they improved
lots of their code base and Jeremy was particularly helpful to unify
the 32/64bit code.
But right now I see a big code dump with subtle details where some of
them are just not acceptable to me.
> If you mean "increases Linux's technical capability", and define Xen as
> outside of Linux, then I think the definition is too small. After all,
> allowing Linux to run on an ARM processor isn't increasing Linux' technical
> capability, it's just allowing a new group of people (people with ARM chips)
> to use Linux. It's the same with Xen.
No, it's not. ARM does not interfere with anything and it keeps its
architecture specific limitations confined in arch/arm.
Xen injects its design limitation workarounds into the arch/x86
codebase and burdens developers and maintainers with it.
> No one disputes the idea that changes shouldn't be ugly; no one disputes the
> idea that changes shouldn't introduce performance regressions. But there are
> patchqueues that are ready, signed-off by other maintainers, and which Ingo
> admits that he has no technical objections to, but refuses to merge.
> (His most recent "objection" is that he claims the currently existing pv_ops
> infrastructure (which KVM and others benefit from as well as Xen) introduces
> almost a 1% overhead on native in an mm-heavy microbenchmark. So he refuses
> to merge feature Y (dom0 support) until the Xen community helps technically
> unrelated existing feature X (pv_ops) meets some criteria. So it has nothing
> to do with the quality of the patches themselves.)
Oh well. It has a lot to do with the quality of the patches. The
design is part of the quality and right now the short comings of the
design are papered over by adding Xen restrictions into the x86 code
base.
> [Not qualified to speak to the specific technical objections.]
> > I really have a hard time to see why dom0 support makes Linux more
> > useful to people who do not use it. It does not improve the Linux
> > experience of Joe User at all.
> >
> If Joe User uses Amazon, he benefits. If Joe User downloads an Ubuntu or
> Debian distro, and the hosting providers were more secure and had to do less
> work because dom0 was inlined, then he benefits because of the lower cost /
> resources freed to do other things.
Right, then they can concentrate on adding another bunch out of tree
patches to their kernels. Next time you stand up and tell me the same
argument for apparmour, ndiswrapper or whatever people like to use.
> But what I was actually talking about is the number of people who don't use it
> now but would use it if it were merged in. There hundreds of thousands of
> instances running now, and more people are chosing to use it at the moment,
> even though those who use it have the devil's choice between doing patching or
> using a 3-year old kernel. How many more would use it if it were in mainline?
How many more would use ndiswrapper if it were in mainline ?
> > In fact it could be harmful to the average user, if it's merged in a
> > crappy way that increases overhead, has a performance cost and draws
> > away development and maintenance resources from other areas of the
> > kernel.
> >
> No one is asking for something to be merged in a crappy way, or with
> unacceptable performance cost. There are a number of patchqueues that Ingo
> has no technical objections to, but which he still refuses to merge.
Right, because the lineup of patches is not completely untangled and
we still have objections against the overall outcome and design of the
Dom0 integration into the kernel proper.
It's not our fault that the Dom0 design decisions were made in total
disconnect to the kernel community and now a "swallow them as is"
policy is imposed on us with the argument that the newer kernels need
to run on ancient hypervisors as well.
You whine about users having to use 3 year old kernels, but 3 years
old hypervisors are fine, right ?
I'm not against merging dom0 in general, I'm opposing that we need to
buy inferior technical solutions which we can not change for a long
time. Once we merged them the "you can not break existent hypervisors"
argument will be used to prevent any design change and cleanup.
> The main point of Jeremy's e-mail was NOT to say, "Lots of people use this so
> you should merge it." He's was responding to Xen being treated like it had no
> benefit. It does have a benefit; it is a feature.
Right, a feature which comes with cost. The cost is the de facto
injection of an dom0 ABI into the arch/x86 code base. A new driver is
a feature as well, but it just adds the feature w/o impact to the
general system.
Thanks,
tglx
next prev parent reply other threads:[~2009-06-02 19:07 UTC|newest]
Thread overview: 108+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-12 23:25 [GIT PULL] Xen APIC hooks (with io_apic_ops) Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 01/17] xen/dom0: handle acpi lapic parsing in Xen dom0 Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 02/17] x86: add io_apic_ops to allow interception Jeremy Fitzhardinge
2009-05-25 3:54 ` Ingo Molnar
2009-05-27 7:17 ` Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 03/17] xen: implement io_apic_ops Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 04/17] xen: create dummy ioapic mapping Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 05/17] xen: implement pirq type event channels Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 06/17] x86/io_apic: add get_nr_irqs_gsi() Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 07/17] xen/apic: identity map gsi->irqs Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 08/17] xen: direct irq registration to pirq event channels Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 09/17] xen: bind pirq to vector and event channel Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 10/17] xen: pre-initialize legacy irqs early Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 11/17] xen: don't setup acpi interrupt unless there is one Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 12/17] xen: use acpi_get_override_irq() to get triggering for legacy irqs Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 13/17] xen: initialize irq 0 too Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 14/17] xen: dynamically allocate irq & event structures Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 15/17] xen: set pirq name to something useful Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 16/17] xen: fix legacy irq setup, make ioapic-less machines work Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 17/17] xen: disable MSI Jeremy Fitzhardinge
2009-05-19 12:35 ` [GIT PULL] Xen APIC hooks (with io_apic_ops) Ingo Molnar
2009-05-20 17:57 ` Jeremy Fitzhardinge
2009-05-25 4:10 ` Ingo Molnar
2009-05-26 12:46 ` [Xen-devel] " George Dunlap
2009-05-26 18:26 ` Avi Kivity
2009-05-26 19:18 ` Dan Magenheimer
2009-05-26 19:41 ` Avi Kivity
2009-05-28 0:13 ` Ingo Molnar
2009-05-28 0:49 ` Jeremy Fitzhardinge
2009-05-28 3:47 ` Dan Magenheimer
2009-05-28 14:26 ` George Dunlap
2009-05-29 0:45 ` Xen is a feature Jeremy Fitzhardinge
2009-05-29 1:27 ` Greg KH
2009-05-29 4:05 ` David Miller
2009-05-29 6:37 ` Jaswinder Singh Rajput
2009-05-29 6:51 ` David Miller
2009-05-29 12:01 ` George Dunlap
2009-05-29 14:14 ` Pasi Kärkkäinen
2009-05-29 21:29 ` David Miller
[not found] ` <87tz33ep1b.fsf@basil.nowhere.org>
2009-05-29 21:31 ` [Xen-devel] " Jeremy Fitzhardinge
2009-05-29 23:09 ` Nakajima, Jun
2009-05-29 23:26 ` Jeremy Fitzhardinge
2009-06-02 15:23 ` Thomas Gleixner
2009-06-02 16:41 ` George Dunlap
2009-06-02 17:28 ` Chris Friesen
2009-06-02 17:46 ` Linus Torvalds
2009-06-02 18:02 ` Linus Torvalds
2009-06-02 18:59 ` Avi Kivity
2009-06-07 9:13 ` Ingo Molnar
2009-06-07 10:01 ` Avi Kivity
2009-06-07 10:35 ` Ingo Molnar
2009-06-07 12:46 ` Avi Kivity
2009-06-07 13:02 ` Jaswinder Singh Rajput
2009-06-04 14:02 ` [Xen-users] " Thomas Goirand
2009-06-02 18:59 ` Thomas Gleixner [this message]
2009-06-03 19:49 ` Bill Davidsen
2009-06-03 20:20 ` Thomas Gleixner
2009-06-03 22:37 ` Bill Davidsen
2009-06-03 23:29 ` Frans Pop
2009-06-04 13:21 ` George Dunlap
2009-06-04 15:10 ` Theodore Tso
2009-06-04 15:31 ` Chris Friesen
2009-06-05 4:14 ` Bill Davidsen
2009-06-05 4:55 ` Chris Friesen
2009-06-02 22:40 ` Steven Rostedt
2009-06-02 23:28 ` Merge Xen (the hypervisor) into Linux Ingo Molnar
2009-06-03 0:00 ` Dan Magenheimer
2009-06-03 0:32 ` Thomas Gleixner
2009-06-03 2:43 ` Theodore Tso
2009-06-03 3:42 ` Steven Rostedt
2009-06-03 4:49 ` Dan Magenheimer
2009-06-03 4:58 ` David Miller
2009-06-03 5:07 ` Steven Rostedt
2009-06-03 5:22 ` Steven Rostedt
2009-06-03 12:03 ` George Dunlap
2009-06-03 19:05 ` Theodore Tso
[not found] ` <4A27CF94.1050903@gmx.de>
2009-06-04 14:03 ` [Xen-users] " Steven Rostedt
2009-06-03 7:28 ` Gerd Hoffmann
2009-06-03 8:47 ` Alan Cox
2009-06-03 9:09 ` Gerd Hoffmann
2009-06-03 9:20 ` Keir Fraser
2009-06-03 11:15 ` Theodore Tso
2009-06-03 11:39 ` Keir Fraser
2009-06-03 11:41 ` Gerd Hoffmann
2009-06-03 1:00 ` Joel Becker
2009-06-03 2:00 ` david
2009-06-03 7:59 ` Alan Cox
2009-06-03 8:07 ` Christian Tramnitz
2009-06-04 18:53 ` Linus Torvalds
2009-06-05 0:09 ` Samuel Thibault
2009-06-05 0:18 ` David Miller
2009-06-05 0:54 ` Linus Torvalds
2009-06-03 17:31 ` Chris Friesen
2009-06-03 17:36 ` Alan Cox
2009-06-02 23:41 ` Xen is a feature Thomas Gleixner
2009-05-30 2:19 ` [Xen-devel] " Andy Burns
2009-05-26 21:19 ` [Xen-devel] Re: [GIT PULL] Xen APIC hooks (with io_apic_ops) Gerd Hoffmann
2009-05-27 10:14 ` George Dunlap
2009-05-24 20:10 ` Avi Kivity
2009-05-25 3:51 ` Ingo Molnar
2009-05-25 4:55 ` Avi Kivity
2009-05-25 5:06 ` Ingo Molnar
2009-05-25 5:12 ` Avi Kivity
2009-05-25 5:19 ` Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2009-05-29 11:48 Xen is a feature Tomasz Chmielewski
2009-05-29 13:08 Sander Eikelenboom
2009-05-31 21:11 devzero
2009-06-02 22:44 Sander Eikelenboom
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=alpine.LFD.2.00.0906021922580.3419@localhost.localdomain \
--to=tglx@linutronix.de \
--cc=EAnderson@novell.com \
--cc=Ian.Pratt@eu.citrix.com \
--cc=Keir.Fraser@eu.citrix.com \
--cc=avi@redhat.com \
--cc=dan.magenheimer@oracle.com \
--cc=davem@davemloft.net \
--cc=george.dunlap@eu.citrix.com \
--cc=gregkh@suse.de \
--cc=jens.axboe@oracle.com \
--cc=jeremy@goop.org \
--cc=ksrinivasan@novell.com \
--cc=kurt.hackel@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=npiggin@suse.de \
--cc=stephen.spector@citrix.com \
--cc=torvalds@linux-foundation.org \
--cc=wimcoekaerts@wimmekes.net \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xensource.com \
--cc=xen-users@lists.xensource.com \
/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