This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Re: [Xen-users] Xen + QEMU Accelerator

M.A. Williamson wrote:
Has anybody tried to use QEMU Accelerator (kqemu) with Xen? Any luck
with improving performance then?

I rather doubt that it'll work - it bangs the hardware direcly in a few ways that isn't allowed for Xen guests.

It won't.  The kqemu docs mention this specifically.

The most promising approach would probably be a port of the QVM86 module (an open source accelerator for Qemu) but this is unable to accelerate kernel-mode code and is therefore limited compared to Fabrice's kqemu.

qvm86 has suffered a little bit of bit rot recently however Jim Brown was attempting to port qvm86 to Xen at one point. It's definitely quite possible although it would require a fair bit of work I think.

From a quick reading of the code, I suspect that more abstraction would be
necessary to encapsulate the direct hardware manipulations.

I'm cc-ing xen-devel in case anybody there has looked at / thought about / talked abut this. Any further posters should remove xen-devel if they have usage-related queries, since we like to keep that list solely for development-related traffic.

There has been a lot of discussion lately about moving a new full version of qemu into the Xen tree for HVM domains. One of the advantages of this is that when IO exits are taken, a block of instructions can be emulated to amortize the cost of a world switch when exits occur back-to-back. You would essentially just always emulate 1000 instructions or something.

I think it becomes pretty obvious that if we do this for HVM domains, it's quite simple to extend this idea to emulate instructions until you transition back to ring 3. This would essentially give you qvm86-like functionality. It also gives you the ability to run HVM domains in the absence of VT/SVM which I think is a pretty useful feature (although you would take a performance hit probably).


Anthony Liguori


Xen-devel mailing list

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>