From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=57790 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OX6S3-0002PF-4U for qemu-devel@nongnu.org; Fri, 09 Jul 2010 01:48:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OX6S1-0005Qb-Q1 for qemu-devel@nongnu.org; Fri, 09 Jul 2010 01:48:43 -0400 Received: from e23smtp05.au.ibm.com ([202.81.31.147]:46943) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OX6S1-0005Le-8a for qemu-devel@nongnu.org; Fri, 09 Jul 2010 01:48:41 -0400 Received: from d23relay05.au.ibm.com (d23relay05.au.ibm.com [202.81.31.247]) by e23smtp05.au.ibm.com (8.14.4/8.13.1) with ESMTP id o695hkD0029392 for ; Fri, 9 Jul 2010 15:43:46 +1000 Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139]) by d23relay05.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id o695lxFv1642720 for ; Fri, 9 Jul 2010 15:47:59 +1000 Received: from d23av04.au.ibm.com (loopback [127.0.0.1]) by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id o695lxiJ027645 for ; Fri, 9 Jul 2010 15:47:59 +1000 Date: Fri, 9 Jul 2010 11:17:54 +0530 From: Gautham R Shenoy Subject: Re: [Qemu-devel] [PATCH V5 0/2] Threadlets: A generic task offloading framework Message-ID: <20100709054754.GA19803@in.ibm.com> References: <20100622111719.25556.15644.stgit@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100622111719.25556.15644.stgit@localhost.localdomain> Reply-To: ego@in.ibm.com List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Qemu-development List Cc: Anthony Liguori , Avi Kivity , Corentin Chary , Paolo Bonzini Hi, I couldn't see this in the mainline codebase. Wondering if something else needs to be done in this patch-set. Thanks and Regards gautham. On Tue, Jun 22, 2010 at 04:48:08PM +0530, Gautham R Shenoy wrote: > 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. > -- Thanks and Regards gautham