Permalink
Browse files

qxl: async io support using new spice api

Some of the QXL port i/o commands are waiting for the spice server to
complete certain actions.  Add async versions for these commands, so we
don't block the vcpu while the spice server processses the command.
Instead the qxl device will raise an IRQ when done.

The async command processing relies on an added QXLInterface::async_complete
and added QXLWorker::*_async additions, in spice server qxl >= 3.1

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Alon Levy     <alevy@redhat.com>
  • Loading branch information...
1 parent e21a298 commit 5ff4e36c804157bd84af43c139f8cd3a59722db9 Alon Levy committed with kraxel Jul 20, 2011
Showing with 276 additions and 56 deletions.
  1. +1 −1 hw/qxl-render.c
  2. +203 −37 hw/qxl.c
  3. +13 −3 hw/qxl.h
  4. +39 −12 ui/spice-display.c
  5. +20 −3 ui/spice-display.h
View
@@ -125,7 +125,7 @@ void qxl_render_update(PCIQXLDevice *qxl)
memset(dirty, 0, sizeof(dirty));
qxl_spice_update_area(qxl, 0, &update,
- dirty, ARRAY_SIZE(dirty), 1);
+ dirty, ARRAY_SIZE(dirty), 1, QXL_SYNC);
for (i = 0; i < ARRAY_SIZE(dirty); i++) {
if (qemu_spice_rect_is_empty(dirty+i)) {
Oops, something went wrong.

0 comments on commit 5ff4e36

Please sign in to comment.