Re: [PATCH v5 0/4] AioContext removal: LinuxAioState and ThreadPool

2023-03-14 Thread Kevin Wolf
Am 03.02.2023 um 14:17 hat Emanuele Giuseppe Esposito geschrieben:
> Just remove some AioContext lock in LinuxAioState and ThreadPool.
> Not related to anything specific, so I decided to send it as
> a separate patch.
> 
> These patches are taken from Paolo's old draft series.

Thanks, applied to the block-next branch.

Kevin




Re: [PATCH v5 0/4] AioContext removal: LinuxAioState and ThreadPool

2023-03-02 Thread Stefan Hajnoczi
On Fri, Feb 03, 2023 at 08:17:27AM -0500, Emanuele Giuseppe Esposito wrote:
> Just remove some AioContext lock in LinuxAioState and ThreadPool.
> Not related to anything specific, so I decided to send it as
> a separate patch.
> 
> These patches are taken from Paolo's old draft series.

Despite the concerns that I mentioned, an x86 guest booted up and ran
fio benchmarks fine in various configurations
(aio=threads/native/io_uring, iothread on/off).

Stefan


signature.asc
Description: PGP signature


[PATCH v5 0/4] AioContext removal: LinuxAioState and ThreadPool

2023-02-03 Thread Emanuele Giuseppe Esposito
Just remove some AioContext lock in LinuxAioState and ThreadPool.
Not related to anything specific, so I decided to send it as
a separate patch.

These patches are taken from Paolo's old draft series.

---
v5:
* apply Stefan comments, add patch 4 to remove ThreadPool * param
  from thread_pool_submit*
* document that functions run in current IOThread

v4:
* add missing aio_context removal, and fix typo

v3:
* remove qemu_coroutine_enter_if_inactive

v2:
* assertion in thread_pool
* remove useless BlockDriverState * param in patch 1 and 2
* io_uring cleaned too


Emanuele Giuseppe Esposito (4):
  linux-aio: use LinuxAioState from the running thread
  io_uring: use LuringState from the running thread
  thread-pool: use ThreadPool from the running thread
  thread-pool: avoid passing the pool parameter every time

 include/block/aio.h   |  8 --
 include/block/raw-aio.h   | 33 ---
 include/block/thread-pool.h   | 15 ++-
 include/sysemu/block-backend-io.h |  6 +
 backends/tpm/tpm_backend.c|  4 +--
 block/file-posix.c| 45 ---
 block/file-win32.c|  4 +--
 block/io_uring.c  | 23 ++--
 block/linux-aio.c | 29 +++-
 block/qcow2-threads.c |  3 +--
 hw/9pfs/coth.c|  3 +--
 hw/ppc/spapr_nvdimm.c |  6 ++---
 hw/virtio/virtio-pmem.c   |  3 +--
 scsi/pr-manager.c |  3 +--
 scsi/qemu-pr-helper.c |  3 +--
 tests/unit/test-thread-pool.c | 12 -
 util/thread-pool.c| 25 +
 17 files changed, 113 insertions(+), 112 deletions(-)

-- 
2.39.1