From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: famz@redhat.com, stefanha@redhat.com
Subject: [Qemu-devel] [PATCH v2 00/16] AioContext fine-grained locking, part 1 of 3, including bdrv_drain rewrite
Date: Wed, 16 Mar 2016 15:16:41 +0100 [thread overview]
Message-ID: <1458137817-15383-1-git-send-email-pbonzini@redhat.com> (raw)
Now that the current dataplane failure has been isolated to an unwanted
reentrancy in virtio, I can post v2 of these patches. Please review,
as I would like to get part 2 in QEMU 2.6 as well (I plan to send it out
tomorrow, since I hope there will be no comments on this one and I have
already tested both of them).
The changes from v1 are minor and all correspond to Fam's review (I've
pointed them out in the single patches - patch 2,5,7,9,13).
Paolo
Paolo Bonzini (16):
block: make bdrv_start_throttled_reqs return void
block: move restarting of throttled reqs to block/throttle-groups.c
block: introduce bdrv_no_throttling_begin/end
block: plug whole tree at once, introduce bdrv_io_unplugged_begin/end
mirror: use bottom half to re-enter coroutine
block: add BDS field to count in-flight requests
block: change drain to look only at one child at a time
blockjob: introduce .drain callback for jobs
block: wait for all pending I/O when doing synchronous requests
nfs: replace aio_poll with bdrv_drain
sheepdog: disable dataplane
aio: introduce aio_context_in_iothread
block: only call aio_poll from iothread
iothread: release AioContext around aio_poll
qemu-thread: introduce QemuRecMutex
aio: convert from RFifoLock to QemuRecMutex
async.c | 28 +---
block.c | 4 +-
block/backup.c | 7 +
block/io.c | 276 ++++++++++++++++++++++++----------------
block/linux-aio.c | 13 +-
block/mirror.c | 38 +++++-
block/nfs.c | 50 +++++---
block/qed-table.c | 16 +--
block/raw-aio.h | 2 +-
block/raw-posix.c | 16 +--
block/sheepdog.c | 19 +++
block/throttle-groups.c | 20 +++
blockjob.c | 16 ++-
docs/multiple-iothreads.txt | 40 +++---
include/block/aio.h | 13 +-
include/block/block.h | 3 +-
include/block/block_int.h | 22 +++-
include/block/blockjob.h | 7 +
include/block/throttle-groups.h | 1 +
include/qemu/rfifolock.h | 54 --------
include/qemu/thread-posix.h | 6 +
include/qemu/thread-win32.h | 10 ++
include/qemu/thread.h | 3 +
iothread.c | 20 +--
stubs/Makefile.objs | 1 +
stubs/iothread.c | 8 ++
tests/.gitignore | 1 -
tests/Makefile | 2 -
tests/qemu-iotests/060 | 8 +-
tests/qemu-iotests/060.out | 4 +-
tests/test-aio.c | 22 ++--
tests/test-rfifolock.c | 92 --------------
util/Makefile.objs | 1 -
util/qemu-thread-posix.c | 13 ++
util/qemu-thread-win32.c | 25 ++++
util/rfifolock.c | 78 ------------
36 files changed, 461 insertions(+), 478 deletions(-)
delete mode 100644 include/qemu/rfifolock.h
create mode 100644 stubs/iothread.c
delete mode 100644 tests/test-rfifolock.c
delete mode 100644 util/rfifolock.c
--
1.8.3.1
next reply other threads:[~2016-03-16 14:17 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-16 14:16 Paolo Bonzini [this message]
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 01/16] block: make bdrv_start_throttled_reqs return void Paolo Bonzini
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 02/16] block: move restarting of throttled reqs to block/throttle-groups.c Paolo Bonzini
2016-03-17 2:39 ` Fam Zheng
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 03/16] block: introduce bdrv_no_throttling_begin/end Paolo Bonzini
2016-03-17 2:52 ` Fam Zheng
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 04/16] block: plug whole tree at once, introduce bdrv_io_unplugged_begin/end Paolo Bonzini
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 05/16] mirror: use bottom half to re-enter coroutine Paolo Bonzini
2016-03-17 2:23 ` Fam Zheng
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 06/16] block: add BDS field to count in-flight requests Paolo Bonzini
2016-03-17 2:53 ` Fam Zheng
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 07/16] block: change drain to look only at one child at a time Paolo Bonzini
2016-03-17 3:10 ` Fam Zheng
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 08/16] blockjob: introduce .drain callback for jobs Paolo Bonzini
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 09/16] block: wait for all pending I/O when doing synchronous requests Paolo Bonzini
2016-03-17 2:55 ` Fam Zheng
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 10/16] nfs: replace aio_poll with bdrv_drain Paolo Bonzini
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 11/16] sheepdog: disable dataplane Paolo Bonzini
2016-03-23 10:45 ` Kevin Wolf
2016-03-23 11:07 ` Paolo Bonzini
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 12/16] aio: introduce aio_context_in_iothread Paolo Bonzini
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 13/16] block: only call aio_poll from iothread Paolo Bonzini
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 14/16] iothread: release AioContext around aio_poll Paolo Bonzini
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 15/16] qemu-thread: introduce QemuRecMutex Paolo Bonzini
2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 16/16] aio: convert from RFifoLock to QemuRecMutex Paolo Bonzini
2016-03-18 16:03 ` [Qemu-devel] [PATCH v2 00/16] AioContext fine-grained locking, part 1 of 3, including bdrv_drain rewrite Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1458137817-15383-1-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=famz@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).