From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kara Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Thu, 15 Jan 2015 23:31:57 +0100 Message-ID: <20150115223157.GB25884@quack.suse.cz> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: lsf-pc@lists.linux-foundation.org, "linux-fsdevel@vger.kernel.org" , linux-mm@kvack.org, Christoph Hellwig To: Milosz Tanski Return-path: Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Thu 15-01-15 12:43:23, Milosz Tanski wrote: > I would like to talk about enhancing the user interfaces for doing > async buffered disk IO for userspace applications. There's a whole > class of distributed web applications (most new applications today) > that would benefit from such an API. Most of them today rely on > cobbling one together in user space using a threadpool. > > The current in kernel AIO interfaces that only support DIRECTIO, they > were generally designed by and for big database vendors. The consensus > is that the current AIO interfaces usually lead to decreased > performance for those app. > > I've been developing a new read syscall that allows non-blocking > diskio read (provided that data is in the page cache). It's analogous > to what exists today in the network world with recvmsg with MSG_NOWAIT > flag. The work has been previously described by LWN here: > https://lwn.net/Articles/612483/ > > Previous attempts (over the last 12+ years) at non-blocking buffered > diskio has stalled due to their complexity. I would like to talk about > the problem, my solution, and get feedback on the course of action. > > Over the years I've been building the low level guys of various "web > applications". That usually involves async network based applications > (epoll based servers) and the biggest pain point for the last 8+ years > has been async disk IO. Maybe this topic will be sorted out before LSF/MM. I know Andrew had some objections about doc and was suggesting a solution using fincore() (which Christoph refuted as being racy). Also there was a pending question regarding whether the async read in this form will be used by applications. But if it doesn't get sorted out a short session on the pending issues would be probably useful. Honza -- Jan Kara SUSE Labs, CR -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org