qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org
Cc: Paul Brook <paul@codesourcery.com>
Subject: [Qemu-devel] Re: using mmap?
Date: Fri, 15 Dec 2006 21:22:09 -0000	[thread overview]
Message-ID: <458311F6.9010602@linux.vnet.ibm.com> (raw)
In-Reply-To: <200612151632.07145.mark.williamson@cl.cam.ac.uk>

Mark Williamson wrote:
>> I'm also doubtful how much benefit it gave in practice. I'm sure it would
>> be good for synthetic CPU benchmarks. However using mmap significantly
>> increases the overhead of context switches/tlb misses.
>>
>> To get good overall performance I suspect you're going to need closer
>> cooperation with the kernel than mmap gives you. If you really want to make
>> cross-emulation go fast I suggest working with the xen and/or kvm people to
>> integrate qemu dynamic translation into those products. In theory I'd guess
>> you should be able to plug it in as an alternative to the HVM code. I've no
>> idea how close that is to being practical.
> 
> http://wiki.xensource.com/xenwiki/HVM/V2E
> 
> The v2e stuff allows execution state to be extracted from the real CPU, 
> plugged into QEmu for a bit for emulation, then transferred back to the real 
> CPU again.  This is initially to be used for supporting Big Real Mode 
> emulation on HVM platforms.  Later on it's planned to be used to accelerate 
> IO emulation further.
> 
> Eventually this may provide a means to use QEmu's translator to execute kernel 
> code whilst running user mode code under Xen.  It may be that this isn't as 
> fast as other approaches, but it'd be a useful feature for Xen to have IMO.

I'd absolute like to get there.  The current Xen HVM code is a bit of a 
mess at the moment.  There are far too many assumptions about having 
VT/SVM hardware present.  However, I'd really like to get to a point 
where Xen could run unmodified guests on non VT/SVM hardware using qemu 
with user virtualization.

KVM is having similar trouble ATM with big real mode.  It would be very 
nice to also add a V2E like interface to KVM.

I'd also like to see the translator even used for paravirtual guests. 
This way we could still have a proper boot loader run without having to 
deal with paravirtualizing it.  It would be nice to use emulation to 
avoid paravirtualizing the non-performance critical bits.

Regards,

Anthony Liguori

> Cheers,
> Mark
> 
>>> Wouldn't this be a *significant*
>>> performance enhancement for this setup which I'm sure is a common one?
>>> Maybe this can be implemented for regular processes on the guest and
>>> only use the softmmu for the kernel?  Would someone point me in the
>>> right direction for technical information?  I have had to switch to
>>> vmware free player until Qemu+KQEMU reaches a point of similar
>>> performance, but I would really rather see Qemu advance further.
>> If you're using an accelerator (eg. kqemu or kvm) this is all irelevant as
>> most code isn't run by qemu, it's virtualized by the accelerator. qemu just
>> does the IO emulation.
>>
>> Paul
>>
>>
>> _______________________________________________
>> Qemu-devel mailing list
>> Qemu-devel@nongnu.org
>> http://lists.nongnu.org/mailman/listinfo/qemu-devel
> 

  reply	other threads:[~2006-12-15 21:22 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-13  8:09 [Qemu-devel] About performance of qemu-system-arm PianoPan
2006-12-13 10:32 ` [Qemu-devel] " Ross Burton
2006-12-13 11:22 ` [Qemu-devel] " Màrius Montón
2006-12-13 14:17   ` PianoPan
2006-12-13 15:23     ` Màrius Montón
2006-12-13 13:26 ` Martin Guy
2006-12-13 14:40   ` [Qemu-devel] qemu-system-* using mmap? Tim Olson
2006-12-13 15:32     ` Paul Brook
2006-12-13 16:04     ` Joseph Miller
2006-12-14 14:50       ` Tim Olson
2006-12-14 17:01         ` [Qemu-devel] " Joseph Miller
2006-12-14 16:45           ` Paul Brook
2006-12-15 16:21             ` [Qemu-devel] Qemu speed vs vmplayer? Joseph Miller
2006-12-15 16:13               ` Paul Brook
2006-12-15 22:20                 ` Joseph Miller
2006-12-15 21:33                   ` Lonnie Mendez
2006-12-15 21:38                   ` Paul Brook
2006-12-15 21:48                     ` Christian MICHON
2006-12-15 21:57                       ` Lonnie Mendez
2006-12-15 22:18                       ` Paul Brook
2006-12-15 22:34                         ` Christian MICHON
2006-12-15 22:47                           ` Paul Brook
     [not found]                   ` <Pine.LNX.4.64.0612160028590.758@home.oyster.ru>
     [not found]                     ` <25199.71.51.225.120.1166272989.squirrel@secure.emarketingnc.com>
     [not found]                       ` <Pine.LNX.4.64.0612161732560.630@home.oyster.ru>
2006-12-17  4:37                         ` it
2006-12-17  5:18                           ` Lonnie Mendez
2006-12-19 16:00                             ` [Qemu-devel] Qemu speed w/ USB tablet emulation Joseph Miller
2006-12-16  5:27                 ` [Qemu-devel] Qemu speed vs vmplayer? Jamie Lokier
2006-12-15 16:32             ` [Qemu-devel] using mmap? Mark Williamson
2006-12-15 21:22               ` Anthony Liguori [this message]
2006-12-13 15:10   ` [Qemu-devel] About performance of qemu-system-arm Martin Guy

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=458311F6.9010602@linux.vnet.ibm.com \
    --to=aliguori@linux.vnet.ibm.com \
    --cc=paul@codesourcery.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).