From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [Qemu-devel] [RFC] Replace posix-aio with custom thread pool Date: Thu, 11 Dec 2008 22:30:55 +0100 Message-ID: <20081211213055.GA2399@lst.de> References: <493E941D.4000608@redhat.com> <493E965E.5050701@us.ibm.com> <20081210164401.GF18814@random.random> <493FFAB6.2000106@codemonkey.ws> <493FFC8E.9080802@redhat.com> <49400F69.8080707@codemonkey.ws> <20081210190810.GG18814@random.random> <20081211131222.GA14908@random.random> <494130B5.2080800@redhat.com> <20081211155335.GE14908@random.random> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Gerd Hoffmann , kvm-devel To: qemu-devel@nongnu.org Return-path: Received: from verein.lst.de ([213.95.11.210]:34095 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756665AbYLKVby (ORCPT ); Thu, 11 Dec 2008 16:31:54 -0500 Content-Disposition: inline In-Reply-To: <20081211155335.GE14908@random.random> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, Dec 11, 2008 at 04:53:35PM +0100, Andrea Arcangeli wrote: > > * It can't handle block allocation. Kernel handles that by doing > > such writes synchronously via VFS layer (instead of the separate > > aio code paths). Leads to horrible performance and bug reports > > such as "installs on sparse files are very slow". > > I think here you mean O_DIRECT regardless of aio/sync API, I doubt aio > has any relevance to block allocation in any way, so whatever problem > we have with kernel API and O_DIRECT should also be there with > sync-api + userland threads and O_DIRECT. userland threads with O_DIRECT means only the thread doing block allocation gets stalled, not any other.