public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
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

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox