Ingo Molnar wrote: > * Ulrich Drepper <[EMAIL PROTECTED]> wrote: > > >> Ingo Molnar wrote: >> >>> i really really think KVM and lhype should merge, creating KVM/HVM >>> (Hardware Virtual Machine) and KVM/LL (Linux on Linux). >>> >> This is only sufficient if either KVM with paravirt Linux kernels has >> no performance penalty or lhype becomes able to execute paravirt Linux >> kernels. >> > > yes, both would be the goal i think. Single kernel image can run as a > KVM host, as a KVM/HVM guest [if CPU support] or as a KVM/LL guest [if > no CPU support]. There's no hypercall overhead on native kernels, we > have binary-patching infrastructure in place to turn them into NOPs. > (which makes it quite close to zero-cost) > > right now the KVM paravirtualization work we are doing is gradually > transitioning KVM/HVM towards KVM/LL in essence, by eliminating all VM > exit reasons from KVM/HVM and turning them into hypercalls. Once that > has been achieved, KVM/LL could be implemented by an extra ll.c module > in drivers/kvm/, which does the cr3 tricks and pagetable maintainance > and CPU state save/restore, fault/trap/irq passback (and not much else). > > So i see very nice short and long term synergy between native Linux, > KVM/HVM guests and KVM/LL guests. What is an hypercall-accelerated > driver under KVM/HVM is a paravirtual driver on KVM/LL. What is a > hypercall-based speedup for KVM/HVM is a paravirtual facility for > KVM/LL. One and the same thing serves both purposes. > >
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 So, in my opinion, CONFIG_PARAVIRT on non-hvm will eventually win on pure performance. Hardware assisted virtualization will be used where you wish to run unmodified guests, and where ABI stability is critical. I won't mind being proved wrong, though. And of course we should share drivers and APIs between the two technologies. -- 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