From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrea Arcangeli Subject: Re: [Qemu-devel] [RFC] Replace posix-aio with custom thread pool Date: Fri, 12 Dec 2008 12:51:33 +0100 Message-ID: <20081212115133.GI6809@random.random> References: <49400F69.8080707@codemonkey.ws> <20081210190810.GG18814@random.random> <20081211131222.GA14908@random.random> <494130B5.2080800@redhat.com> <20081211155335.GE14908@random.random> <49413B9C.3030703@redhat.com> <20081211164947.GD6809@random.random> <49414BC9.5090905@redhat.com> <20081211181116.GE6809@random.random> <20081212082309.GI23742@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: qemu-devel@nongnu.org, Gerd Hoffmann , kvm-devel To: Jens Axboe Return-path: Received: from mx2.redhat.com ([66.187.237.31]:47745 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752841AbYLLLvn (ORCPT ); Fri, 12 Dec 2008 06:51:43 -0500 Content-Disposition: inline In-Reply-To: <20081212082309.GI23742@kernel.dk> Sender: kvm-owner@vger.kernel.org List-ID: On Fri, Dec 12, 2008 at 09:23:10AM +0100, Jens Axboe wrote: > aio is only async with O_DIRECT, with buffered IO it's sync. That's very bad, because aio is as needed for O_DIRECT as for buffered read seeking workloads that otherwise have zero chance to fill the I/O pipe... (well unless one is threading in userland which is obviously less efficient than what aio could achieve in kernel space, even without taking cfq screwed bucketing into account). From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LB6Yb-00071E-CR for qemu-devel@nongnu.org; Fri, 12 Dec 2008 06:51:45 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LB6YZ-00070p-Fr for qemu-devel@nongnu.org; Fri, 12 Dec 2008 06:51:44 -0500 Received: from [199.232.76.173] (port=53280 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LB6YZ-00070m-BE for qemu-devel@nongnu.org; Fri, 12 Dec 2008 06:51:43 -0500 Received: from mx2.redhat.com ([66.187.237.31]:38850) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LB6YY-0003Ht-SY for qemu-devel@nongnu.org; Fri, 12 Dec 2008 06:51:43 -0500 Date: Fri, 12 Dec 2008 12:51:33 +0100 From: Andrea Arcangeli Subject: Re: [Qemu-devel] [RFC] Replace posix-aio with custom thread pool Message-ID: <20081212115133.GI6809@random.random> References: <49400F69.8080707@codemonkey.ws> <20081210190810.GG18814@random.random> <20081211131222.GA14908@random.random> <494130B5.2080800@redhat.com> <20081211155335.GE14908@random.random> <49413B9C.3030703@redhat.com> <20081211164947.GD6809@random.random> <49414BC9.5090905@redhat.com> <20081211181116.GE6809@random.random> <20081212082309.GI23742@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081212082309.GI23742@kernel.dk> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jens Axboe Cc: qemu-devel@nongnu.org, kvm-devel , Gerd Hoffmann On Fri, Dec 12, 2008 at 09:23:10AM +0100, Jens Axboe wrote: > aio is only async with O_DIRECT, with buffered IO it's sync. That's very bad, because aio is as needed for O_DIRECT as for buffered read seeking workloads that otherwise have zero chance to fill the I/O pipe... (well unless one is threading in userland which is obviously less efficient than what aio could achieve in kernel space, even without taking cfq screwed bucketing into account).