[Spice-devel] [PATCH v3] async and s3 support

Alon Levy alevy at redhat.com
Thu Jul 7 09:33:24 PDT 2011


v3 changes:
 completion of async io now done at async_complete time
 folded cookie in
 removed oom_async
 added patch to use surface_updated on stop
 flush_surfaces does subset of stop outlined by yonit
  flush surfaces
  wait for outgoing

git tree:
 git://anongit.freedesktop.org/~alon/spice s3.v3.async.v3

additional requirements for testing:

git://anongit.freedesktop.org/~alon/spice-protocol  s3.v2
git://anongit.freedesktop.org/~alon/qemu            s3.v4.async.api.v2
git://anongit.freedesktop.org/~alon/qxl             s3.v3.async.v3

v2 changes:
 added cookie (uint64_t), seperate patch
 added surface_update (as long as we are changing the api)
  - more of an RfC since I'm not sure what Gerd wants..

v1 comment:

This is a redoing of async io support using spice api changes, and on top of
it the s3 support patches using the original suggestion of an added api call (but
named flush_surfaces instead of update_mem).

Recap: After the previous discussions with Gerd and Yonit we agreed a way to
call flush_all_qxl_commands is needed before suspend, and so a change of the
spice server api is inevitable. As a result a simpler implementation of async io
is possible using yet more spice server api changes (async io means here io
calls were the completion is notified by a new interrupt and so the vmexit is
much shorter)


Alon Levy (6):
  server/red_worker: *_release_item: less frequent debug messages
  server/red_worker: remove print on handle_dev_destroy_surfaces
  server: add async io support
  server: add QXLWorker.flush_surfaces_async for S3/S4 support
  server: add QXLInterface::surface_updated callback
  server/spice.h: bump QXL_MINOR because of QXLWorker and QXLInterface
    changes

 server/red_dispatcher.c          |  182 +++++++++++++++++++++++++++-------
 server/red_parse_qxl.c           |    2 +-
 server/red_parse_qxl.h           |    2 +-
 server/red_worker.c              |  206 ++++++++++++++++++++++++++------------
 server/red_worker.h              |    9 ++
 server/spice.h                   |   19 +++-
 server/tests/test_display_base.c |    2 +-
 7 files changed, 318 insertions(+), 104 deletions(-)

-- 
1.7.5.4



More information about the Spice-devel mailing list