All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/16] AioContext fine-grained locking, part 1 of 3, including bdrv_drain rewrite
@ 2016-03-16 14:16 Paolo Bonzini
  2016-03-16 14:16 ` [Qemu-devel] [PATCH v2 01/16] block: make bdrv_start_throttled_reqs return void Paolo Bonzini
                   ` (16 more replies)
  0 siblings, 17 replies; 26+ messages in thread
From: Paolo Bonzini @ 2016-03-16 14:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: famz, stefanha

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

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

end of thread, other threads:[~2016-03-23 11:08 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-16 14:16 [Qemu-devel] [PATCH v2 00/16] AioContext fine-grained locking, part 1 of 3, including bdrv_drain rewrite Paolo Bonzini
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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.