From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: Paravirt KVM capabilities
Date: Wed, 10 Jan 2007 12:43:17 +0200 [thread overview]
Message-ID: <45A4C345.5050404@qumranet.com> (raw)
In-Reply-To: <20070110101839.GA6444-X9Un+BFzKDI@public.gmane.org>
Ingo Molnar wrote:
> * Ulrich Drepper <drepper-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 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
next prev parent reply other threads:[~2007-01-10 10:43 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-09 14:19 Paravirt KVM capabilities Hugo Mills
[not found] ` <20070109141916.GA13276-qdzjUQGjHNdnxAzMjxVBUbVCufUGDwFn@public.gmane.org>
2007-01-09 14:27 ` Avi Kivity
[not found] ` <45A3A642.1030604-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-09 23:20 ` Rusty Russell
[not found] ` <1168384852.19646.161.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-01-10 9:47 ` Ingo Molnar
[not found] ` <20070110094750.GA934-X9Un+BFzKDI@public.gmane.org>
2007-01-10 10:09 ` Ulrich Drepper
[not found] ` <45A4BB74.9010102-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2007-01-10 10:18 ` Ingo Molnar
[not found] ` <20070110101839.GA6444-X9Un+BFzKDI@public.gmane.org>
2007-01-10 10:43 ` Avi Kivity [this message]
[not found] ` <45A4C345.5050404-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-10 10:52 ` Ingo Molnar
[not found] ` <20070110105202.GA13412-X9Un+BFzKDI@public.gmane.org>
2007-01-10 11:03 ` Avi Kivity
[not found] ` <45A4C7ED.8090003-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-10 11:14 ` Ingo Molnar
[not found] ` <20070110111442.GA16867-X9Un+BFzKDI@public.gmane.org>
2007-01-10 11:42 ` Avi Kivity
2007-01-10 18:00 ` Ulrich Drepper
[not found] ` <45A529DB.4030009-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2007-01-10 18:12 ` Avi Kivity
[not found] ` <45A52C8B.70608-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-10 18:27 ` Ulrich Drepper
[not found] ` <45A53005.30300-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2007-01-10 18:35 ` Avi Kivity
2007-01-10 17:00 ` Anthony Liguori
[not found] ` <45A51BA2.9090005-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2007-01-10 17:23 ` Avi Kivity
2007-01-11 0:42 ` Rusty Russell
[not found] ` <1168476120.19646.209.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-01-11 0:49 ` Ingo Molnar
[not found] ` <20070111004957.GA3279-X9Un+BFzKDI@public.gmane.org>
2007-01-11 2:39 ` Rusty Russell
[not found] ` <1168483188.19646.241.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-01-11 2:51 ` Ingo Molnar
[not found] ` <20070111025130.GB21368-X9Un+BFzKDI@public.gmane.org>
2007-01-11 3:21 ` Rusty Russell
[not found] ` <1168485696.19646.250.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-01-11 9:38 ` Ingo Molnar
2007-01-10 10:46 ` Rusty Russell
[not found] ` <1168425985.19646.205.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-01-10 11:00 ` sean-cz32UWRuVxBIf6P1QZMOBw
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45A4C345.5050404@qumranet.com \
--to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=mingo-X9Un+BFzKDI@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.