Re: Xen is a feature

Ingo Molnar
2009-06-07T09:14:52Z

* Avi Kivity <avi@redhat.com> wrote:

> Linus Torvalds wrote:
>> The point? Xen really is horribly badly separated out. It gets way more
>> incestuous with other systems than it should. It's entirely possible
>> that this is very fundamental to both paravirtualization and to
>> hypervisor behavior, but it doesn't matter - it just measn that I can
>> well see that Xen is a f*cking pain to merge.
>>
>> So please, Xen people, look at your track record, and look at the
>> issues from the standpoint of somebody merging your code, rather
>> than just from the standpoint of somebody who whines "I want my
>> code to be merged".
>>
>> IOW, if you have trouble getting your code merged, ask yourself
>> what _you_ are doing wrong.
>
> 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.

This would certainly be an utterly clean design, and it would be
interesting to see a Linux/Xen + Linux/Dom0 combo engineered in such
a way - if people really find this layered kernel approach
interesting. So the door is not closed to dom0 at all - but it has
to be designed cleanly without messing up the native kernel.

Ingo