From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1OBMHe-0002gb-Gd for qemu-devel@nongnu.org; Mon, 10 May 2010 02:16:06 -0400 Received: from [140.186.70.92] (port=48350 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OBMHY-0002dY-MR for qemu-devel@nongnu.org; Mon, 10 May 2010 02:16:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OBMHT-0000UO-IR for qemu-devel@nongnu.org; Mon, 10 May 2010 02:16:00 -0400 Received: from e28smtp01.in.ibm.com ([122.248.162.1]:45962) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OBMHS-0000TY-PL for qemu-devel@nongnu.org; Mon, 10 May 2010 02:15:55 -0400 Received: from d28relay05.in.ibm.com (d28relay05.in.ibm.com [9.184.220.62]) by e28smtp01.in.ibm.com (8.14.3/8.13.1) with ESMTP id o4A6FkZo008720 for ; Mon, 10 May 2010 11:45:46 +0530 Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66]) by d28relay05.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id o4A6Fj6Y1490994 for ; Mon, 10 May 2010 11:45:45 +0530 Received: from d28av04.in.ibm.com (loopback [127.0.0.1]) by d28av04.in.ibm.com (8.14.3/8.13.1/NCO v10.0 AVout) with ESMTP id o4A6FjPn009751 for ; Mon, 10 May 2010 16:15:45 +1000 Received: from sofia.in.ibm.com ([9.124.216.18]) by d28av04.in.ibm.com (8.14.3/8.13.1/NCO v10.0 AVin) with ESMTP id o4A6Fj5M009748 for ; Mon, 10 May 2010 16:15:45 +1000 Received: from localhost.localdomain (localhost [IPv6:::1]) by sofia.in.ibm.com (Postfix) with ESMTP id 24CFDE4ABD for ; Mon, 10 May 2010 11:45:45 +0530 (IST) From: Gautham R Shenoy Date: Mon, 10 May 2010 11:45:44 +0530 Message-ID: <20100510061439.6600.3818.stgit@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [RFC/ PATCH 0/2] qemu: Asynchronous task offloading framework. List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Qemu-development List 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.