From: Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>
To: Ulrich Drepper <drepper-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: Paravirt KVM capabilities
Date: Wed, 10 Jan 2007 11:18:39 +0100 [thread overview]
Message-ID: <20070110101839.GA6444@elte.hu> (raw)
In-Reply-To: <45A4BB74.9010102-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
* 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.
> I can certainly attest that there is a lot of demand for running Linux
> domains with kernels other than the one running on the hardware. This
> is Xen's bread and butter and from the albeit old numbers I've seen so
> far KVM has problems competing.
yes. Running /any/ OS with maximum possible performance is the goal, and
i'd like the hypercall API to become an ABI in essence, with as much
backwards compatibility for older kernels as possible.
Ingo
-------------------------------------------------------------------------
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:18 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 [this message]
[not found] ` <20070110101839.GA6444-X9Un+BFzKDI@public.gmane.org>
2007-01-10 10:43 ` Avi Kivity
[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=20070110101839.GA6444@elte.hu \
--to=mingo-x9un+bfzkdi@public.gmane.org \
--cc=drepper-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@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.