MMU operations in paravirt_ops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux