From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:50438) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QKcxc-0000ny-1v for qemu-devel@nongnu.org; Thu, 12 May 2011 16:58:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QKcxX-0001n0-Rl for qemu-devel@nongnu.org; Thu, 12 May 2011 16:58:16 -0400 Received: from e33.co.us.ibm.com ([32.97.110.151]:42791) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QKcxX-0001mf-Kx for qemu-devel@nongnu.org; Thu, 12 May 2011 16:58:11 -0400 Received: from d03relay04.boulder.ibm.com (d03relay04.boulder.ibm.com [9.17.195.106]) by e33.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p4CKp3Tv014645 for ; Thu, 12 May 2011 14:51:03 -0600 Received: from d03av02.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by d03relay04.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p4CKxG00033630 for ; Thu, 12 May 2011 14:59:16 -0600 Received: from d03av02.boulder.ibm.com (loopback [127.0.0.1]) by d03av02.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p4CEvVYF031622 for ; Thu, 12 May 2011 08:57:31 -0600 From: "Venkateswararao Jujjuri (JV)" Date: Thu, 12 May 2011 13:57:22 -0700 Message-Id: <1305233867-4367-1-git-send-email-jvrao@linux.vnet.ibm.com> Subject: [Qemu-devel] [0/25] Async threading for VirtFS using glib threads & coroutines. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, stefanha@linux.vnet.ibm.com VirtFS (fileserver base on 9P) performs many blocking system calls in the vCPU context. This effort is to move the blocking calls out of vCPU/IO thread context, into asynchronous threads. Anthony's " Add hard build dependency on glib" patch and Kevin/Stefan's coroutine effort is a prerequisite. This patch set contains: - Converting all 9pfs calls into coroutines. - Each 9P operation will be modified for: - Remove post* functions. These are our call back functions which makes the code very hard to read. Now with coroutines, we can achieve the same state machine model with nice sequential code flow. - Move errno access near to the local_syscall() - Introduce asynchronous threading This series has the basic infrastructure and few routines like mkdir,monod,unlink,readdir,xattr,lstat, etc converted. Currently we are working on converting and testing other 9P operations also into this model and those patches will follow shortly. Removing callback functions made some of the patches little lengthy. Here is the git tree for the reviewer convenience. http://repo.or.cz/w/qemu/aliguori/jvrao.git/shortlog/refs/heads/9p-coroutines-round1 -Signed-off-by: Venkateswararao Jujjuri "