Re: [PATCH] xen: core dom0 support

From: Jeremy Fitzhardinge
Date: Sun Mar 01 2009 - 18:34:24 EST


Andi Kleen wrote:
I would say the more interesting question is less how much additional
code it is or even how much it changes the main kernel, but more how
different the code execution paths in interaction with Xen are
compared to what a native kernel would do. Because such differences
always would need to be considered in future changes.

Yes. A big part of what I'm doing is trying to keep the Xen changes self-contained to try and minimize their system-wide impact. Basically it comes down to that if you use (mostly existing) kernel APIs in the way they're intended to be used, then things just work out for both Xen and native cases. The whole point of keeping the kernel modular is so that if people implement and use the the interfaces correctly, the internal details shouldn't matter very much. Often the process of adding Xen support has resulted in putting clear, well defined interfaces into parts of the kernel where previously things were, well, in need of cleaning up.

For example things like: doesn't use PAT with Xen or apparently very
different routing are somewhat worrying because it means it's a
completely different operation modus with Xen that needs to be taken
care of later, adding to complexity.

Unless we're planning on dropping support for processes with no or broken PAT support, we're always going to have to deal with the non-PAT case. Xen just falls into the "processor with no PAT" case. And if/when we work out how to paravirtualize PAT, it will no longer be in that case.

Unfortunately it also looks like that Xen the HV does things
more and more different from what mainline kernel does so these differences will likely continue to grow over time.

I hope that won't be the case. As part of considering any change to Xen is considering what changes would be needed to the guest operating systems to make use of that feature.

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