On Thu, 2006-05-18 at 14:24 +0200, Andi Kleen wrote: > On Thursday 18 May 2006 13:44, Rusty Russell wrote: > > Hi all, > > > > The next obvious step for paravirt_ops seems to me to be higher-level > > mmu operations: from reading the VMI patches it seems to do flushing, > > whereas Xen opts for batching. > > To be honest I really hate that ops idea. It's slow and will be likely ugly. Agreed. We should never use ops structures in the kernel anywhere. Slow seems unlikely since (1) even the naive implementation has shown to have only minimal effect on benchmarks, (2) we know that interrupt manipulation is the most common hypervisor op under most workloads by about a factor of 50, and so (3) binary patching seems fairly simple as required, and (4) PowerPC already uses an ops structure for exactly this purpose. "Likely ugly" implies that you haven't actually looked at the patches. I don't think it's beautiful, no, but any abstraction layer is going to have an impact, and you should probably compare it with the alternatives. I want to support the same kernel on native and on hypervisor. I know there will be more than one hypervisor option, given the range of hardware and range of hypervisors (of different versions). Even if we nailed ourselves to a hypervisor ABI today, we'd still end up with something like this over time. Rusty. -- ccontrol: http://ccontrol.ozlabs.org