[Qemu-devel] [PATCH 0/3] do not use aio_context_acquire/release in AIO-based drivers

Paolo Bonzini posted 3 patches 7 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170217194028.8398-1-pbonzini@redhat.com
Test checkpatch passed
Test docker passed
Test s390x passed
There is a newer version of this series
block/curl.c  | 24 ++++++++++-------
block/iscsi.c | 83 +++++++++++++++++++++++++++++++++++++++++++++--------------
block/nfs.c   | 20 +++++++++++---
3 files changed, 95 insertions(+), 32 deletions(-)
[Qemu-devel] [PATCH 0/3] do not use aio_context_acquire/release in AIO-based drivers
Posted by Paolo Bonzini 7 years, 2 months ago
aio_context_acquire/release are only going away as soon as the block layer
becomes thread-safe, but we can already move away to other finer-grained
mutex whenever possible.

These three drivers don't use coroutines, hence a QemuMutex is a fine
primitive to use for protecting any per-BDS data in the libraries
they use.  The QemuMutex must protect any fd handlers or bottom halves,
and also the BlockDriver callbacks which were implicitly being called
under aio_context_acquire.

Paolo

Paolo Bonzini (3):
  curl: do not use aio_context_acquire/release
  nfs: do not use aio_context_acquire/release
  iscsi: do not use aio_context_acquire/release

 block/curl.c  | 24 ++++++++++-------
 block/iscsi.c | 83 +++++++++++++++++++++++++++++++++++++++++++++--------------
 block/nfs.c   | 20 +++++++++++---
 3 files changed, 95 insertions(+), 32 deletions(-)

-- 
2.9.3