public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Gerhard Wiesinger <lists@wiesinger.com>
To: Avi Kivity <avi@redhat.com>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: Re: [Qemu-devel] Re: QEMU-KVM and video performance
Date: Wed, 21 Apr 2010 20:09:29 +0200 (CEST)	[thread overview]
Message-ID: <alpine.LFD.2.00.1004212003490.14758@bbs.intern> (raw)
In-Reply-To: <4BCEBE5C.4020404@redhat.com>

On Wed, 21 Apr 2010, 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.
>
> Which mode are you using?
>

I'm using VESA mode 0x101 (640x480 256 colors), but performance is 
there very low (~1MB/s). Test is also WITHOUT any vga window change, so 
there isn't any page switching overhead involved in this test case.

>> 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.

I don't think changing VGA window is a problem because there are 
500.000-1Mio changes/s possible.

Would it be possible to handle these writes through QEMU directly (without 
KVM), because performance is there very well (looking at the code there 
is some pointer arithmetic and some memory write done)?

Thnx.

Ciao,
Gerhard

--
http://www.wiesinger.com/

  parent reply	other threads:[~2010-04-21 18:11 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-19 19:14 QEMU-KVM and video performance Gerhard Wiesinger
2010-04-21  8:59 ` Avi Kivity
2010-04-21 10:08   ` [Qemu-devel] " Jamie Lokier
2010-04-21 10:49     ` Avi Kivity
2010-04-21 18:14       ` Gerhard Wiesinger
2010-04-21 20:49         ` [Qemu-devel] " Avi Kivity
2010-04-22  5:37           ` Gerhard Wiesinger
2010-04-22  6:57             ` Avi Kivity
2010-04-21 18:39       ` Jamie Lokier
2010-04-21 20:51         ` Avi Kivity
2010-04-21 21:19           ` Jamie Lokier
2010-04-22  5:44           ` Gerhard Wiesinger
2010-05-12 10:34             ` Jamie Lokier
2010-04-21 18:09   ` Gerhard Wiesinger [this message]
2010-04-21 18:33     ` Jamie Lokier
2010-04-21 18:50       ` Gerhard Wiesinger
2010-04-21 18:53         ` Jamie Lokier
2010-04-21 19:08           ` Gerhard Wiesinger
2010-04-21 21:30             ` Jamie Lokier
2010-04-22  6:12               ` Gerhard Wiesinger
2010-05-12 10:23                 ` Jamie Lokier
2010-04-21 20:56         ` Avi Kivity
2010-04-22  6:04           ` Gerhard Wiesinger
2010-04-22  7:03             ` Avi Kivity
2010-05-09 19:35               ` Gerhard Wiesinger
2010-05-10  7:32                 ` Avi Kivity
2010-05-12  6:14                   ` Gerhard Wiesinger
2010-05-12  6:39                     ` [Qemu-devel] " Avi Kivity
2011-02-18  7:32                       ` [Qemu-devel] Re: QEMU-KVM and video performance - Update Gerhard Wiesinger

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=alpine.LFD.2.00.1004212003490.14758@bbs.intern \
    --to=lists@wiesinger.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --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