qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC][PATCH 0/9] Use coroutines in the block layer
@ 2011-07-15 16:47 Kevin Wolf
  2011-07-15 16:47 ` [Qemu-devel] [RFC][PATCH 1/9] block: Add bdrv_co_readv/writev Kevin Wolf
                   ` (9 more replies)
  0 siblings, 10 replies; 15+ messages in thread
From: Kevin Wolf @ 2011-07-15 16:47 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, stefanha

Based on Stefan's latest coroutine patches. This series makes qcow and qcow2
take advantage of the new coroutine infrastructure. Both formats used
synchronous operations for accessing their metadata and blocked the guest CPU
during that time. With coroutines, the I/O will happen asynchronously in the
background and the CPU won't be blocked any more.

Kevin Wolf (9):
  block: Add bdrv_co_readv/writev
  block: Emulate AIO functions with bdrv_co_readv/writev
  block: Add bdrv_co_readv/writev emulation
  coroutines: Locks
  qcow2: Use coroutines
  qcow: Use coroutines
  async: Remove AsyncContext
  coroutines: Use one global bottom half for CoQueue
  block: Use bdrv_co_* instead of synchronous versions in coroutines

 Makefile.objs         |    4 +-
 async.c               |   98 ++-----------------
 block.c               |  271 ++++++++++++++++++++++++++++++++++++++++++++++--
 block.h               |    5 +
 block/qcow.c          |  180 +++++++++++---------------------
 block/qcow2-cluster.c |   26 ++---
 block/qcow2.c         |  240 ++++++++++++++++----------------------------
 block/qcow2.h         |    5 +-
 block/qed-table.c     |   14 ---
 block/qed.c           |    4 -
 block_int.h           |    6 +
 linux-aio.c           |   24 +----
 posix-aio-compat.c    |   11 --
 qemu-common.h         |    4 -
 qemu-coroutine-int.h  |    1 +
 qemu-coroutine-lock.c |  117 +++++++++++++++++++++
 qemu-coroutine.h      |   62 +++++++++++
 trace-events          |   11 ++
 18 files changed, 636 insertions(+), 447 deletions(-)
 create mode 100644 qemu-coroutine-lock.c

-- 
1.7.6

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

end of thread, other threads:[~2011-08-01  9:44 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-15 16:47 [Qemu-devel] [RFC][PATCH 0/9] Use coroutines in the block layer Kevin Wolf
2011-07-15 16:47 ` [Qemu-devel] [RFC][PATCH 1/9] block: Add bdrv_co_readv/writev Kevin Wolf
2011-07-15 16:47 ` [Qemu-devel] [RFC][PATCH 2/9] block: Emulate AIO functions with bdrv_co_readv/writev Kevin Wolf
2011-07-15 16:47 ` [Qemu-devel] [RFC][PATCH 3/9] block: Add bdrv_co_readv/writev emulation Kevin Wolf
2011-07-15 16:47 ` [Qemu-devel] [RFC][PATCH 4/9] coroutines: Locks Kevin Wolf
2011-07-15 16:47 ` [Qemu-devel] [RFC][PATCH 5/9] qcow2: Use coroutines Kevin Wolf
2011-07-15 16:47 ` [Qemu-devel] [RFC][PATCH 6/9] qcow: " Kevin Wolf
2011-07-15 16:47 ` [Qemu-devel] [RFC][PATCH 7/9] async: Remove AsyncContext Kevin Wolf
2011-07-15 16:47 ` [Qemu-devel] [RFC][PATCH 8/9] coroutines: Use one global bottom half for CoQueue Kevin Wolf
2011-07-15 16:47 ` [Qemu-devel] [RFC][PATCH 9/9] block: Use bdrv_co_* instead of synchronous versions in coroutines Kevin Wolf
2011-07-21 15:23   ` Stefan Hajnoczi
2011-07-22  6:48     ` Kevin Wolf
2011-07-22  9:17       ` Stefan Hajnoczi
2011-07-22 10:00         ` Kevin Wolf
2011-08-01  9:44 ` [Qemu-devel] [RFC][PATCH 0/9] Use coroutines in the block layer Stefan Hajnoczi

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