* Avi Kivity <avi@xxxxxxxxxx> wrote:
Ingo Molnar wrote:
The context switch would be taken by the Xen scheduler, not the Linux scheduler. [...]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.This would be an acceptable model i suspect, if someone wants a 'slim hypervisor'.
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.
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 'slim hypervisor' model i was suggesting was a slimmed down _Linux_ kernel.