All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jim C. Brown" <jma5@umd.edu>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Qemu and (Pacifica | Vanderpool)
Date: Mon, 7 Nov 2005 00:56:53 -0500	[thread overview]
Message-ID: <20051107055652.GA26645@jbrown.mylinuxbox.org> (raw)
In-Reply-To: <436EA681.1010302@us.ibm.com>

On Sun, Nov 06, 2005 at 06:57:37PM -0600, Anthony Liguori wrote:
> >qemu is an emulator, not a virtualizer, so these extensions don't really 
> >help.
> > 
> >
> Not quite.
> 
> qemu is technically a JIT.  kqemu/qvm86 are virtualizers.  Bochs is an 
> actual emulator.
> 

VT/SVM won't help the JIT part of qemu. And kqemu/qvm86 are optional.

> VT/SVM will definitely improve the performance of kqemu/qvm86. 

VT/SVM won't actually help them that much in the current case, assuming that my
understanding is correct. They can only make the userland bits a little
faster, and kqemu/qvm86 don't support running kernel code (where the real gains
would be realized). The JIT still handles that, so there is still an emulated
cpu.

They could be extended to take over both userland and kernel code easily though.
(In which case the user space qemu would provide only the system emulation
bits - there'd no longer be any emulation of the guest cpu). I believe that
there are plans to extend kqemu to be able to do this at some point. But at
that point I'd hesitate to call the combination "QEMU", since there would be
nothing of the original qemu left (for the record this considered of the
dynamic translator/JIT and the qemu-user code).

> >You may want to look at Xen (www.xensource.com), which already supports 
> >these.
> > 
> >
> Xen is a Type I VMM, QEmu is a Type II.  They aren't interchangable.
> 

Agreed. Of course, since Xen runs on the bare metal, one would expect that it
would have better performance than qemu anyways (though if qemu's io model is
used, that is not going to be true for the obvious reasons). If ease of
installation is more important than performance, qemu is less invasive. I guess
that can be considered a tradeoff.

I doubt qemu + kqemu/qvm86 is a pure Type II anyways, since it modifies the
host operating system. And from my understanding of qvm86, the userland code
is essentially run directly by qvm86 directly on the bare hardware, since the
only parts of the host kernel that are involved are the parts that tell the
kernel to leave that code alone. Modifying the accelerators so they handle
running of all the guest code moves even farther away from this.

--
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.

  reply	other threads:[~2005-11-07  5:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-06 15:19 [Qemu-devel] Qemu and (Pacifica | Vanderpool) Dave Feustel
2005-11-06 15:32 ` Hetz Ben Hamo
2005-11-06 15:33 ` Paul Brook
2005-11-06 16:16   ` Mark Williamson
2005-11-07  1:01     ` Anthony Liguori
2005-11-06 16:36   ` Dave Feustel
2005-11-07  0:57   ` Anthony Liguori
2005-11-07  5:56     ` Jim C. Brown [this message]
2005-11-07  6:30       ` Anthony Liguori
2005-11-06 16:24 ` Jim C. Brown

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=20051107055652.GA26645@jbrown.mylinuxbox.org \
    --to=jma5@umd.edu \
    --cc=aliguori@us.ibm.com \
    --cc=qemu-devel@nongnu.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.