xen-devel
[Xen-users] Re: Xen is a feature
To: |
Ingo Molnar <mingo@xxxxxxx> |
Subject: |
[Xen-users] Re: Xen is a feature |
From: |
Avi Kivity <avi@xxxxxxxxxx> |
Date: |
Sun, 07 Jun 2009 13:01:37 +0300 |
Cc: |
"npiggin@xxxxxxx" <npiggin@xxxxxxx>, ksrinivasan <ksrinivasan@xxxxxxxxxx>, "jeremy@xxxxxxxx" <jeremy@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "wimcoekaerts@xxxxxxxxxxxx" <wimcoekaerts@xxxxxxxxxxxx>, "gregkh@xxxxxxx" <gregkh@xxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxxxxx>, "kurt.hackel@xxxxxxxxxx" <kurt.hackel@xxxxxxxxxx>, "x86@xxxxxxxxxx" <x86@xxxxxxxxxx>, Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>, "xen-users@xxxxxxxxxxxxxxxxxxx" <xen-users@xxxxxxxxxxxxxxxxxxx>, Ian Pratt <Ian.Pratt@xxxxxxxxxxxxx>, Stephen Spector <stephen.spector@xxxxxxxxxx>, Keir Fraser <Keir.Fraser@xxxxxxxxxxxxx>, "EAnderson@xxxxxxxxxx" <EAnderson@xxxxxxxxxx>, "jens.axboe@xxxxxxxxxx" <jens.axboe@xxxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, David Miller <davem@xxxxxxxxxxxxx> |
Delivery-date: |
Tue, 09 Jun 2009 06:16:53 -0700 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<20090607091349.GA26897@xxxxxxx> |
List-help: |
<mailto:xen-users-request@lists.xensource.com?subject=help> |
List-id: |
Xen user discussion <xen-users.lists.xensource.com> |
List-post: |
<mailto:xen-users@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe> |
References: |
<162f4c90-6431-4a2a-b337-6d7451d7b11e@default> <20090528001350.GD26820@xxxxxxx> <4A1F302E.8030501@xxxxxxxx> <20090528.210559.137121893.davem@xxxxxxxxxxxxx> <4A1FCE8E.2060604@xxxxxxxxxxxxx> <alpine.LFD.2.00.0905311607560.3379@xxxxxxxxxxxxxxxxxxxxx> <4A25564A.70608@xxxxxxxxxxxxx> <alpine.LFD.2.01.0906021033230.3351@xxxxxxxxxxxxxxxxxxxxx> <alpine.LFD.2.01.0906021053050.3351@xxxxxxxxxxxxxxxxxxxxx> <4A257687.2030801@xxxxxxxxxx> <20090607091349.GA26897@xxxxxxx> |
Sender: |
xen-users-bounces@xxxxxxxxxxxxxxxxxxx |
User-agent: |
Thunderbird 2.0.0.21 (X11/20090320) |
Ingo Molnar wrote:
There is in fact a way to get dom0 support with nearly no changes
to Linux, but it involves massive changes to Xen itself and
requires hardware support: run dom0 as a fully virtualized guest,
and assign it all the resources dom0 can access. It's probably a
massive effort though.
I've considered it for kvm when faced with the "I want a thin
hypervisor" question: compile the hypervisor kernel with PCI
support but nothing else (no CONFIG_BLOCK or CONFIG_NET, no device
drivers), load userspace from initramfs, and assign host devices
to one or more privileged guests. You could probably run the host
with a heavily stripped configuration, and enjoy the slimness
while every interrupt invokes the scheduler, a context switch, and
maybe an IPI for good measure.
This would be an acceptable model i suspect, if someone wants a
'slim hypervisor'.
We can context switch way faster than we handle IRQs. Plus in a
slimmed-down config we could intentionally slim down aspects of the
scheduler as well, if it ever became a measurable performance issue.
The hypervisor would run a minimal user-space and most of the
context-switching overhead relates to having a full-fledged
user-space with rich requirements. So there's no real conceptual
friction between a 'lean and mean' hypervisor and a full-featured
native kernel.
The context switch would be taken by the Xen scheduler, not the Linux
scheduler. It's how interrupts work under Xen: an interrupt is taken,
Xen schedules the domain that owns the interrupts (dom0 usually), which
then handles the interrupt. The Linux scheduler would only be involved
if you thread your interrupt handlers.
This context switch is necessary regardless of how dom0 is integrated
into Linux; it's simply a side effect of implementing device drivers
outside the kernel (in this context, the kernel is Xen, and dom0 is just
another userspace, albeit with elevated privileges. The Linux
equivalent to dom0 is a process that uses uio.
--
Do not meddle in the internals of kernels, for they are subtle and quick to
panic.
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|
|
|