Hi,

This patch series is strictly RFC only.

It implements a generic asynchrnous task offloading threading framework
based on the threading model used in the AIO subsystem.

Currently within QEMU, AIO subsystem is the only one which creates a bunch of
asynchronous threads to execute any blocking operations so that the vcpu threads
and the IO thread can go back to servicing any other guest requests.

We would want to make use of this offloading model in case of virtio-9p where 
the
asynchronous threads handle the POSIX operations and transfer the control to the
IO thread which, depending on current-state in the state-machine, either 
offloads
more work to be handled by the asynnchronous thread pool or sends the results of
the operation to the guest.

For this purpose, we need a generic task-offloading infrastructure, and this
patch series implements just that.

The patch series passed fsstress test without any issues.

Awaiting your comments.
---

Aneesh Kumar K.V (1):
      qemu: Create a generic asynchronous threading framework to offload tasks

Gautham R Shenoy (1):
      qemu: Convert paio code to use the generic threading infrastructure.


 Makefile.objs      |    2 +
 async-work.c       |  149 ++++++++++++++++++++++++++++++++++++++++++++++++++
 async-work.h       |   85 ++++++++++++++++++++++++++++
 posix-aio-compat.c |  156 ++++++++++------------------------------------------
 4 files changed, 266 insertions(+), 126 deletions(-)
 create mode 100644 async-work.c
 create mode 100644 async-work.h

-- 
Thanks and Regards
gautham.


Reply via email to