qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: QEMU-KVM and video performance


From: Jamie Lokier
Subject: Re: [Qemu-devel] Re: QEMU-KVM and video performance
Date: Wed, 21 Apr 2010 11:08:40 +0100
User-agent: Mutt/1.5.13 (2006-08-11)

Avi Kivity wrote:
> On 04/19/2010 10:14 PM, Gerhard Wiesinger wrote:
> >Hello,
> >
> >Finally I got QEMU-KVM to work but video performance under DOS is very 
> >low (QEMU 0.12.3 stable and QEMU GIT master branch is fast, QEMU KVM 
> >is slow)
> >
> >I'm measuring 2 performance critical video performance parameters:
> >1.) INT 10h, function AX=4F05h (set same window/set window/get window)
> >2.) Memory performance to segment page A000h
> >
> >So BIOS performance (which might be port performance to VGA 
> >index/value port) is about factor 5 slower, memory performance is 
> >about factor 100 slower.
> >
> >QEMU 0.12.3 and QEMU GIT performance is the same (in the measurement 
> >tolerance) and listed only once, QEMU KVM is much more slower (details 
> >see below).
> >
> >Test programs can be provided, source code will be release soon.
> >
> >Any ideas why KVM is so slow? 
> 
> 16-color vga is slow because kvm cannot map the framebuffer to the guest 
> (writes are not interpreted as RAM writes).  256+-color vga should be 
> fast, except when switching the vga window.  Note it's only fast on 
> average, the first write into a page will be slow as kvm maps it in.

I don't understand: why is 256+-colour mappable and 16-colour not mappable?

Is this a case where TCG would run significantly faster for code blocks
that have been detected to access the VGA memory?

> Which mode are you using?
> 
> >Any ideas for improvement?
> 
> Currently when the physical memory map changes (which is what happens 
> when the vga window is updated), kvm drops the entire shadow cache.  
> It's possible to do this only for vga memory, but not easy.

If it's a page fault handled in the kernel, I would expect it to be
about as fast as those old VGA DOS-extender drivers which provide the
illusion of a single flat mapping, and bank switch on page faults -
multiplied by the speed of modern CPUs compared with then.  For many
graphics things those DOS-extender drivers worked perfectly well.

If it's a trap out to qemu on every vga window change, perhaps not
quite so well.

-- Jamie




reply via email to

[Prev in Thread] Current Thread [Next in Thread]