qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH V5 0/2] Threadlets: A generic task offloading framework
@ 2010-06-22 11:18 Gautham R Shenoy
  2010-06-22 11:18 ` [Qemu-devel] [PATCH V5 1/2] qemu: Generic task offloading framework: threadlets Gautham R Shenoy
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Gautham R Shenoy @ 2010-06-22 11:18 UTC (permalink / raw)
  To: Qemu-development List
  Cc: Anthony Liguori, Avi Kivity, Corentin Chary, Paolo Bonzini

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

-- 
Thanks and Regards
gautham.

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

end of thread, other threads:[~2010-07-09  5:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-22 11:18 [Qemu-devel] [PATCH V5 0/2] Threadlets: A generic task offloading framework Gautham R Shenoy
2010-06-22 11:18 ` [Qemu-devel] [PATCH V5 1/2] qemu: Generic task offloading framework: threadlets Gautham R Shenoy
2010-06-22 13:00   ` [Qemu-devel] " Paolo Bonzini
2010-06-22 11:18 ` [Qemu-devel] [PATCH V5 2/2] qemu: Convert AIO code to use threadlets Gautham R Shenoy
2010-07-09  5:47 ` [Qemu-devel] [PATCH V5 0/2] Threadlets: A generic task offloading framework Gautham R Shenoy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).