Re: [patch 00/21] Xen-paravirt: Xen guest implementation for paravirt_opsinterface

From: Zachary Amsden
Date: Fri Feb 16 2007 - 17:11:08 EST


Christoph Lameter wrote:
On Fri, 16 Feb 2007, Zachary Amsden wrote:

Yes, but that is just because the Xen hooks happens to be near the last part
of the merge. VMI required some special hooks, as do both Xen and lhype (I
think ... Rusty can correct me if lhype's puppy's have precluded the addition
of new hooks). Xen page table handling is very different, mostly it is trap
and emulate so writable page tables can work, which means they don't always
issue hypercalls for PTE updates, although they do have that option, should
the hypervisor MMU model change, or performance concerns prompt a different
model (or perhaps, migration?)

Well looks like there are still some major design issues to be ironed out. What is proposed here is to make paravirt_ops a fake generic API and then tunnel through it to vendor specific kernel mods.

No, there are two radically different approaches represented in one API. Shadow page tables and direct page tables require different abstractions to make them work. The API is not fake. It accommodates both approaches, and the Xen changes here are pretty much required to make direct page tables work. The shadow side of the equation is not vendor specific, in fact, it is used by lhype to make PTE update hypercalls. But only one vendor chose direct page tables, so it appears vendor specific, when in fact it is just specific to that design choice.

Adding XenBus hooks to paravirt-ops, for instance, would be vendor specific and useless to anyone else. But that is not the approach which has been taken here.

Zach
-
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/