[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/10] block: Coroutine support
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 00/10] block: Coroutine support |
Date: |
Tue, 26 Jul 2011 13:48:58 +0200 |
Depends 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 (10):
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
posix-aio-compat: Allow read after EOF
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 | 43 +-------
posix-aio-compat.c | 30 ++++--
qemu-common.h | 4 -
qemu-coroutine-int.h | 1 +
qemu-coroutine-lock.c | 117 +++++++++++++++++++++
qemu-coroutine.h | 64 ++++++++++++
trace-events | 11 ++
18 files changed, 659 insertions(+), 464 deletions(-)
create mode 100644 qemu-coroutine-lock.c
--
1.7.6
- [Qemu-devel] [PATCH 00/10] block: Coroutine support,
Kevin Wolf <=
- [Qemu-devel] [PATCH 01/10] block: Add bdrv_co_readv/writev, Kevin Wolf, 2011/07/26
- [Qemu-devel] [PATCH 02/10] block: Emulate AIO functions with bdrv_co_readv/writev, Kevin Wolf, 2011/07/26
- [Qemu-devel] [PATCH 04/10] coroutines: Locks, Kevin Wolf, 2011/07/26
- [Qemu-devel] [PATCH 03/10] block: Add bdrv_co_readv/writev emulation, Kevin Wolf, 2011/07/26
- [Qemu-devel] [PATCH 05/10] qcow2: Use coroutines, Kevin Wolf, 2011/07/26
- [Qemu-devel] [PATCH 08/10] coroutines: Use one global bottom half for CoQueue, Kevin Wolf, 2011/07/26
- [Qemu-devel] [PATCH 06/10] qcow: Use coroutines, Kevin Wolf, 2011/07/26
- [Qemu-devel] [PATCH 07/10] async: Remove AsyncContext, Kevin Wolf, 2011/07/26
- [Qemu-devel] [PATCH 10/10] block: Use bdrv_co_* instead of synchronous versions in coroutines, Kevin Wolf, 2011/07/26