qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL] spice: async i/o for qxl
@ 2011-08-03 10:37 Gerd Hoffmann
  2011-08-03 10:37 ` [Qemu-devel] [PATCH 01/11] spice: add worker wrapper functions Gerd Hoffmann
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: Gerd Hoffmann @ 2011-08-03 10:37 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  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(-)

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2011-08-04 22:43 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-03 10:37 [Qemu-devel] [PULL] spice: async i/o for qxl Gerd Hoffmann
2011-08-03 10:37 ` [Qemu-devel] [PATCH 01/11] spice: add worker wrapper functions Gerd Hoffmann
2011-08-03 10:37 ` [Qemu-devel] [PATCH 02/11] spice: add qemu_spice_display_init_common Gerd Hoffmann
2011-08-03 10:37 ` [Qemu-devel] [PATCH 03/11] spice/qxl: move worker wrappers Gerd Hoffmann
2011-08-03 10:37 ` [Qemu-devel] [PATCH 04/11] qxl: fix surface tracking & locking Gerd Hoffmann
2011-08-03 10:37 ` [Qemu-devel] [PATCH 05/11] qxl: add io_port_to_string Gerd Hoffmann
2011-08-03 10:37 ` [Qemu-devel] [PATCH 06/11] qxl: error handling fixes and cleanups Gerd Hoffmann
2011-08-03 10:37 ` [Qemu-devel] [PATCH 07/11] qxl: make qxl_guest_bug take variable arguments Gerd Hoffmann
2011-08-03 10:37 ` [Qemu-devel] [PATCH 08/11] qxl: only disallow specific io's in vga mode Gerd Hoffmann
2011-08-03 10:37 ` [Qemu-devel] [PATCH 09/11] qxl: async io support using new spice api Gerd Hoffmann
2011-08-03 10:37 ` [Qemu-devel] [PATCH 10/11] qxl: add QXL_IO_FLUSH_{SURFACES, RELEASE} for guest S3&S4 support Gerd Hoffmann
2011-08-03 10:37 ` [Qemu-devel] [PATCH 11/11] qxl: bump pci rev Gerd Hoffmann
2011-08-04 22:43 ` [Qemu-devel] [PULL] spice: async i/o for qxl Anthony Liguori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).