All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] block-backend: process I/O in the current AioContext
@ 2023-08-23 23:59 Stefan Hajnoczi
  2023-08-23 23:59 ` [PATCH v2 1/4] block: remove AIOCBInfo->get_aio_context() Stefan Hajnoczi
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Stefan Hajnoczi @ 2023-08-23 23:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Vladimir Sementsov-Ogievskiy, Hanna Reitz, Paolo Bonzini, kwolf,
	qemu-block, Klaus Jensen, John Snow, Cleber Rosa,
	Philippe Mathieu-Daudé, Keith Busch, David Hildenbrand,
	Stefan Hajnoczi, Peter Xu, Fam Zheng

v2
- Add patch to remove AIOCBInfo->get_aio_context() [Kevin]
- Add patch to use qemu_get_current_aio_context() in block-coroutine-wrapper so
  that the wrappers use the current AioContext instead of
  bdrv_get_aio_context().

Switch blk_aio_*() APIs over to multi-queue by using
qemu_get_current_aio_context() instead of blk_get_aio_context(). This change
will allow devices to process I/O in multiple IOThreads in the future.

The final patch requires my QIOChannel AioContext series to pass
tests/qemu-iotests/check -qcow2 281 because the nbd block driver is now
accessed from the main loop thread in addition to the IOThread:
https://lore.kernel.org/qemu-devel/20230823234504.1387239-1-stefanha@redhat.com/T/#t

Based-on: 20230823234504.1387239-1-stefanha@redhat.com

Stefan Hajnoczi (4):
  block: remove AIOCBInfo->get_aio_context()
  block-backend: process I/O in the current AioContext
  block-backend: process zoned requests in the current AioContext
  block-coroutine-wrapper: use qemu_get_current_aio_context()

 include/block/aio.h                |  1 -
 include/block/block-global-state.h |  2 ++
 include/block/block-io.h           |  1 -
 block/block-backend.c              | 35 ++++++++----------------------
 block/io.c                         | 23 +++++++-------------
 hw/nvme/ctrl.c                     |  7 ------
 softmmu/dma-helpers.c              |  8 -------
 util/thread-pool.c                 |  8 -------
 scripts/block-coroutine-wrapper.py |  6 ++---
 9 files changed, 21 insertions(+), 70 deletions(-)

-- 
2.41.0



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

end of thread, other threads:[~2023-09-12 21:38 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-23 23:59 [PATCH v2 0/4] block-backend: process I/O in the current AioContext Stefan Hajnoczi
2023-08-23 23:59 ` [PATCH v2 1/4] block: remove AIOCBInfo->get_aio_context() Stefan Hajnoczi
2023-08-23 23:59 ` [PATCH v2 2/4] block-backend: process I/O in the current AioContext Stefan Hajnoczi
2023-08-23 23:59 ` [PATCH v2 3/4] block-backend: process zoned requests " Stefan Hajnoczi
2023-08-23 23:59 ` [PATCH v2 4/4] block-coroutine-wrapper: use qemu_get_current_aio_context() Stefan Hajnoczi
2023-09-01 17:01   ` Kevin Wolf
2023-09-12 21:37     ` Stefan Hajnoczi
2023-09-04  9:05 ` [PATCH v2 0/4] block-backend: process I/O in the current AioContext Kevin Wolf

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.