Threadlets: A generic task offloading framework
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v5 Latest2 patches 2 repliesIn review
- v43 patches 23 repliesSuperseded
Changes in v5 from the cover letter
=====================================================================
- Updated the Makefile to make the object files depend on CONFIG_POSIX.
- Did away with the pthread_barrier_init() and pthread_barrier_wait().
- Did away with flush_threadlet_queue() helper.
- Fixed the attribution in copyright, helper names.
- Fixed the idle-thread-exit logic.
- Added documentation in docs/
Patches in v5 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | qemu: Generic task offloading framework: threadletsMakefile.objs docs/ qemu-threadlets.c +1 more | +361 | 1 reply | |
| 2/2 | qemu: Convert AIO code to use threadlets.posix-aio-compat.c | +24 | 0 replies |
Reviews trailers per patch
1 of 2 patches has a Reviewed-by or Acked-by.
| Patch | Paolo Bonzini |
|---|---|
| 1/2 | A-b |
| 2/2 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [Qemu-devel] [PATCH V5 0/2] Threadlets: A generic task offloading framework
Hi,
This is the v5 of the patch-series to have a generic asynchronous task offloading framework (called threadlets) within qemu.
V4 can be found here:
http://lists.gnu.org/archive/html/qemu-devel/2010-06/msg02152.html
Changes from V4:
=====================================================================
- Updated the Makefile to make the object files depend on CONFIG_POSIX.
- Did away with the pthread_barrier_init() and pthread_barrier_wait().
- Did away with flush_threadlet_queue() helper.
- Fixed the attribution in copyright, helper names.
- Fixed the idle-thread-exit logic.
- Added documentation in docs/
Description
=====================================================================
This patch series decouples the asynchronous threading framework implementation from posix-aio-compat.c to implement a generic asynchronous task offloading threading framework called threadlets which can be used by other subsystems within QEMU.
Currently within QEMU, the AIO subsystem (paio) creates a bunch of asynchronous threads to offload any blocking operations so that the vcpu threads and the IO thread can go back to servicing any other guest requests.
This offloading framework can be used by subsystems such as virtio-9p, Asynchronous encoding for vnc-server, so that the vcpu thread can offload blocking operations on to the asynchronous threads and resume servicing any other guest requests. The asynchronous threads, after finishing the blocking operations can then transfer the control over to the IO thread so that the latter can handle the post_blocking_operation().
The patch series passed fsstress test without any issues.
Could it be considered for inclusion ?
---
Aneesh Kumar K.V (1):
qemu: Generic task offloading framework: threadlets
Gautham R Shenoy (1):
qemu: Convert AIO code to use threadlets.
Makefile.objs | 3 + docs/async-support.txt | 141 ++++++++++++++++++++++++++++++++++++++++ posix-aio-compat.c | 152 +++++++------------------------------------ qemu-threadlets.c | 170 ++++++++++++++++++++++++++++++++++++++++++++++++ qemu-threadlets.h | 48 ++++++++++++++ 5 files changed, 385 insertions(+), 129 deletions(-) create mode 100644 docs/async-support.txt create mode 100644 qemu-threadlets.c create mode 100644 qemu-threadlets.h
Signature · 2 lines
Thanks and Regards gautham.