qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PULL] spice: async i/o for qxl


From: Gerd Hoffmann
Subject: [Qemu-devel] [PULL] spice: async i/o for qxl
Date: Wed, 3 Aug 2011 12:37:35 +0200

  Hi,

This spice/qxl pull fixes (for the most part) a design flaw in the qxl
device interface.

Some write operations to qxl I/O ports are blocking, i.e. they wait
for the spice server finish some work, then return to the guest.
Which adds noticable latencies.  This patch series adds non-blocking
versions of these operations which return without delay, then raise
a IRQ when complete.  The old ops remain functional for backward
compatibility reasons.  A guest driver update is needed to make use
of the new ops and get rid of the latencies.

The series also adds new ops which ask the spice server to process all
outstanding rendering commands.  This will effectively flush all spice
server state to qxl device memory and is needed for S3 support.

While being at extending the guest ABI we also add a error IRQ to the
qxl device.  Long-term plan is to convert all guest-triggerable asserts
in qxl.c into "ignore guest request and raise error IRQ".

All stuff listed above needs a new version of the spice server library,
thats why a bunch of ifdefs is needed so qxl continues to work with
older spice versions.  The plan is to raise the minimum required spice
server library when it is in widespread use (in a year or so), then
kill all the ugly #ifdefs.

Finally we raise the pci revision of the qxl device (with new
libspice-server) to signal the guest all the stuff listed above is
available.

please pull,
   Gerd

The following changes since commit 927d721777e73339f73719f36eaf400ab641366c:

  microblaze: Add missing call to qemu_init_vcpu. (2011-07-31 06:40:13 +0200)

are available in the git repository at:
  git://anongit.freedesktop.org/spice/qemu spice.v40

Alon Levy (5):
      qxl: add io_port_to_string
      qxl: make qxl_guest_bug take variable arguments
      qxl: only disallow specific io's in vga mode
      qxl: async io support using new spice api
      qxl: add QXL_IO_FLUSH_{SURFACES,RELEASE} for guest S3&S4 support

Gerd Hoffmann (6):
      spice: add worker wrapper functions.
      spice: add qemu_spice_display_init_common
      spice/qxl: move worker wrappers
      qxl: fix surface tracking & locking
      qxl: error handling fixes and cleanups.
      qxl: bump pci rev

 hw/qxl-render.c    |    4 +-
 hw/qxl.c           |  438 +++++++++++++++++++++++++++++++++++++++++++++-------
 hw/qxl.h           |   34 ++++-
 ui/spice-display.c |   93 ++++++++++--
 ui/spice-display.h |   28 ++++
 5 files changed, 528 insertions(+), 69 deletions(-)



reply via email to

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