Ingo Molnar wrote: > * Avi Kivity <[EMAIL PROTECTED]> wrote: > > >> If you have a CONFIG_PARAVIRT guest, I believe it will always be >> faster to run it without hardware assisted virtualization: >> >> - you cannot eliminate vmexits due to host interrupts >> - a hypercall will (probably) keep being more expensive than a syscall; >> it simply has a lot more work to do >> - cr3 switches for CONFIG_PARAVIRT syscalls (which are necessary on >> x86_64) will probably become very cheap with tagged tlbs >> > > but irq overhead is nothing in importance compared to basic syscall > overhead. KVM/HVM already runs guest kernel syscalls at native speed. > KVM/LL (or Xen) has to switch cr3s to enter guest kernel context, and > has to switch it back to get back to guest user context. It might be > pretty fast with tagged TLBs, but not zero-cost. >
For i386 Xen does not switch cr3 IIRC. Perhaps even not for x86_64 if it can use the segment limits which AMD re-added (I think it does?) I think for i386 Xen does not go through the hypervisor at all: it hacks int 0x80 to trap directly to ring 1. So there's still the overhead of using int rather than sysenter, but not much more. I don't know how the (many syscalls) x (smaller overhead) vs (fewer interrupts) x (greater overhead) stack up. -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel