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

Re: [Xen-devel] [PATCH] Std VGA Performance


  • To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
  • From: "Robert Phillips" <rsp.vi.xen@xxxxxxxxx>
  • Date: Thu, 25 Oct 2007 13:31:34 -0400
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 25 Oct 2007 10:32:15 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=ozdgFFpy2Kv2lTG76ir4UbKEtkzg8mwK/LUGB4a4a6DKi05Wc49HojE9JScFihXMN3BH1NBc6MNQWlnsbGg6Cm07CkMtDiKSZXCOyNcg+WcDc2S+ez4CWRcJXcri3GXBAaUBACJBU9UXfJIHvGeN+JoFsOcmU4aVHwUGPpmvnpk=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

The performance is poor with increased slots and without emulation.

As presented the emulation code treats the buffered-io slots as an asynchronous queue.  The stdvga emulator pushes ioreqs into the queue but need not wait for any response because it can satisfy read requests locally.  (The only time it must wait is when the queue becomes full.)

Without the emulation, the code must block on each read (of which there are many) waiting for QEMU to provide an answer.  This really slows things down and renders the buffer largely useless.  I don't believe it ever gets full;  there are never enough consecutive writes to fill it.

With both increased slots and emulation, the performance feels so very much better.  Like taking a stone out of your shoe.  :-)

-- rsp

On 10/25/07, Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> wrote:
On 25/10/07 16:28, "Robert Phillips" < rsp.vi.xen@xxxxxxxxx> wrote:

How much benefit comes from immediate servicing of PIO input ops versus the
massive increase in buffered-io slots? Removing the former optimisation
would certainly make the patch a lot smaller!

Subjectively, the performance improvement appears substantial.  We have tested the code with the stdvga emulation and with and without the increased number of slots. With more slots the screen painting goes from being fast to very fast.

As you've noticed, the increase in number of slots is compensated by the decrease in slot size (so there is no increase in memory use) at the cost of packing (and unpacking) ioreqs as they are written to (and read from) the buffer.

I guess what I'm really interested in is the performance /with/ the increased number of slots and with versus without the stdvga emulation. Since it's the stdvga emulation that really adds the complexity.

 -- Keir



--
--------------------------------------------------------------------
Robert S. Phillips                          Virtual Iron Software
rphillips@xxxxxxxxxxxxxxx                Tower 1, Floor 2
978-849-1220                                 900 Chelmsford Street
                                                    Lowell, MA 01851
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.