From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LkjQN-0004TS-Rz for qemu-devel@nongnu.org; Fri, 20 Mar 2009 14:26:31 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LkjQJ-0004Pz-3H for qemu-devel@nongnu.org; Fri, 20 Mar 2009 14:26:31 -0400 Received: from [199.232.76.173] (port=49246 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LkjQI-0004Ps-UZ for qemu-devel@nongnu.org; Fri, 20 Mar 2009 14:26:26 -0400 Received: from e7.ny.us.ibm.com ([32.97.182.137]:59579) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LkjQI-0003Va-NM for qemu-devel@nongnu.org; Fri, 20 Mar 2009 14:26:26 -0400 Received: from d01relay02.pok.ibm.com (d01relay02.pok.ibm.com [9.56.227.234]) by e7.ny.us.ibm.com (8.13.1/8.13.1) with ESMTP id n2KIHG5c030880 for ; Fri, 20 Mar 2009 14:17:16 -0400 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay02.pok.ibm.com (8.13.8/8.13.8/NCO v9.2) with ESMTP id n2KIQP2u187756 for ; Fri, 20 Mar 2009 14:26:25 -0400 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n2KIQPVk028877 for ; Fri, 20 Mar 2009 14:26:25 -0400 Message-ID: <49C3DFCF.9060807@us.ibm.com> Date: Fri, 20 Mar 2009 13:26:23 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1237209071-26942-1-git-send-email-avi@redhat.com> In-Reply-To: <1237209071-26942-1-git-send-email-avi@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH 0/5] Fix aio cancellation with synthetic aiocbs Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: qemu-devel@nongnu.org Avi Kivity wrote: > The block layer will currently break with synthetic aiocbs, since it will > forward the cancellation request to the block format driver, which did not > generate the synthetic aiocbs. > > This patchset fixes the problem by associating a cancellation method > with synthetic aiocbs through a aio pool data structure. This structure > contains information common to a class of aiocbs - size, cancellation method, > and free list. > > Avi Kivity (5): > Refactor aio callback allocation to use an aiocb pool > Convert vectored aio emulation to use a dedicated pool > Implement cancellation method for dma async I/O > Use vectored aiocb storage to store vector translation state > Move block dma helpers aiocb to store dma state > > block.c | 79 +++++++++++++++++++++++++++++++++++--------------------- > block_int.h | 14 +++++++++- > dma-helpers.c | 44 +++++++++++++++++++++---------- > dma.h | 1 + > vl.c | 1 + > 5 files changed, 94 insertions(+), 45 deletions(-) > Applied all. Thanks. Regards, Anthony Liguori