From: Avi Kivity <avi@redhat.com>
To: Jamie Lokier <jamie@shareable.org>
Cc: Gerhard Wiesinger <lists@wiesinger.com>,
qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: Re: [Qemu-devel] Re: QEMU-KVM and video performance
Date: Wed, 21 Apr 2010 13:49:16 +0300 [thread overview]
Message-ID: <4BCED82C.9020702@redhat.com> (raw)
In-Reply-To: <20100421100840.GF13114@shareable.org>
On 04/21/2010 01:08 PM, Jamie Lokier wrote:
> 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?
>
Writes to vga in 16-color mode don't change set a memory location to a
value, instead they change multiple memory locations.
> Is this a case where TCG would run significantly faster for code blocks
> that have been detected to access the VGA memory?
>
Yes.
>> 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.
>
It's much more complicated.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2010-04-21 10:49 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-19 19:14 QEMU-KVM and video performance Gerhard Wiesinger
2010-04-19 19:14 ` [Qemu-devel] " Gerhard Wiesinger
2010-04-21 8:59 ` Avi Kivity
2010-04-21 8:59 ` [Qemu-devel] " Avi Kivity
2010-04-21 10:08 ` Jamie Lokier
2010-04-21 10:49 ` Avi Kivity [this message]
2010-04-21 18:14 ` Gerhard Wiesinger
2010-04-21 18:14 ` [Qemu-devel] " Gerhard Wiesinger
2010-04-21 20:49 ` Avi Kivity
2010-04-21 20:49 ` Avi Kivity
2010-04-22 5:37 ` Gerhard Wiesinger
2010-04-22 5:37 ` Gerhard Wiesinger
2010-04-22 6:57 ` Avi Kivity
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-04-22 5:44 ` Gerhard Wiesinger
2010-05-12 10:34 ` Jamie Lokier
2010-05-12 10:34 ` Jamie Lokier
2010-04-21 18:09 ` Gerhard Wiesinger
2010-04-21 18:33 ` Jamie Lokier
2010-04-21 18:33 ` Jamie Lokier
2010-04-21 18:50 ` Gerhard Wiesinger
2010-04-21 18:50 ` Gerhard Wiesinger
2010-04-21 18:53 ` Jamie Lokier
2010-04-21 18:53 ` Jamie Lokier
2010-04-21 19:08 ` Gerhard Wiesinger
2010-04-21 19:08 ` Gerhard Wiesinger
2010-04-21 21:30 ` Jamie Lokier
2010-04-21 21:30 ` Jamie Lokier
2010-04-22 6:12 ` Gerhard Wiesinger
2010-04-22 6:12 ` Gerhard Wiesinger
2010-05-12 10:23 ` Jamie Lokier
2010-05-12 10:23 ` Jamie Lokier
2010-04-21 20:56 ` Avi Kivity
2010-04-21 20:56 ` Avi Kivity
2010-04-22 6:04 ` Gerhard Wiesinger
2010-04-22 6:04 ` Gerhard Wiesinger
2010-04-22 7:03 ` Avi Kivity
2010-04-22 7:03 ` Avi Kivity
2010-05-09 19:35 ` Gerhard Wiesinger
2010-05-09 19:35 ` Gerhard Wiesinger
2010-05-10 7:32 ` Avi Kivity
2010-05-10 7:32 ` Avi Kivity
2010-05-12 6:14 ` Gerhard Wiesinger
2010-05-12 6:14 ` [Qemu-devel] " Gerhard Wiesinger
2010-05-12 6:39 ` Avi Kivity
2010-05-12 6:39 ` Avi Kivity
2011-02-18 7:32 ` [Qemu-devel] Re: QEMU-KVM and video performance - Update Gerhard Wiesinger
2011-02-18 7:32 ` 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=4BCED82C.9020702@redhat.com \
--to=avi@redhat.com \
--cc=jamie@shareable.org \
--cc=kvm@vger.kernel.org \
--cc=lists@wiesinger.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.