qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH V3 0/3] qemu: Make AIO threading framework generic.
@ 2010-06-03  8:56 Gautham R Shenoy
  2010-06-03  8:56 ` [Qemu-devel] [PATCH V3 1/3] qemu: Add qemu-wrappers for pthread_attr_t Gautham R Shenoy
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Gautham R Shenoy @ 2010-06-03  8:56 UTC (permalink / raw)
  To: Qemu-development List; +Cc: Anthony Liguori, Avi Kivity, Corentin Chary

Hi,

This is the v3 of the patch-series to have a generic asynchronous task
offloading framework within qemu.

V2 can be found here:
http://lists.gnu.org/archive/html/qemu-devel/2010-05/msg02227.html

Changes from V2:
=====================================================================
- Made use of the qemu-thread.c wrappers in place of pthread_() calls.
- Added a couple fo qemu-thread wrappers for handling pthread_attr_t type.
- Audited the error handling in the generic asynchronous task offloading
  framework code.

Description
=====================================================================
This patch series decouples the asynchrnous threading framework
implementation from posix-aio-compat.c to implement a generic asynchrnous
task offloading threading framework 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 asynchronous threading framework to offload tasks

Gautham R Shenoy (2):
      qemu: Add qemu-wrappers for pthread_attr_t
      qemu: Convert AIO code to use the generic threading infrastructure.


 Makefile.objs      |    3 +
 async-work.c       |  136 ++++++++++++++++++++++++++++++++++++++++++++++
 async-work.h       |   85 +++++++++++++++++++++++++++++
 posix-aio-compat.c |  155 ++++++++++------------------------------------------
 qemu-thread.c      |   34 +++++++++++
 qemu-thread.h      |   11 ++++
 6 files changed, 297 insertions(+), 127 deletions(-)
 create mode 100644 async-work.c
 create mode 100644 async-work.h

-- 
Thanks and Regards
gautham.

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

end of thread, other threads:[~2010-06-10 11:38 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-03  8:56 [Qemu-devel] [PATCH V3 0/3] qemu: Make AIO threading framework generic Gautham R Shenoy
2010-06-03  8:56 ` [Qemu-devel] [PATCH V3 1/3] qemu: Add qemu-wrappers for pthread_attr_t Gautham R Shenoy
2010-06-03 12:31   ` [Qemu-devel] " Paolo Bonzini
2010-06-04 13:07     ` Anthony Liguori
2010-06-04 13:19       ` Corentin Chary
2010-06-04 13:27         ` Paolo Bonzini
2010-06-10 11:12         ` Gautham R Shenoy
2010-06-03  8:56 ` [Qemu-devel] [PATCH V3 2/3] qemu: Generic asynchronous threading framework to offload tasks Gautham R Shenoy
2010-06-03 11:41   ` [Qemu-devel] " Corentin Chary
2010-06-03 12:37     ` Paolo Bonzini
2010-06-04 13:16   ` [Qemu-devel] " Anthony Liguori
2010-06-05  7:03     ` Corentin Chary
2010-06-10 11:37     ` Gautham R Shenoy
2010-06-03  8:56 ` [Qemu-devel] [PATCH V3 3/3] qemu: Convert AIO code to use the generic threading infrastructure 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).