From: Milosz Tanski <milosz@adfin.com>
To: Jan Kara <jack@suse.cz>
Cc: lsf-pc@lists.linux-foundation.org,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
linux-mm@kvack.org, Christoph Hellwig <hch@infradead.org>
Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps
Date: Fri, 16 Jan 2015 10:44:12 -0500 [thread overview]
Message-ID: <CANP1eJGRX4w56Ek4j7d2U+F7GNWp6RyOJonxKxTy0phUCpBM9g@mail.gmail.com> (raw)
In-Reply-To: <20150115223157.GB25884@quack.suse.cz>
On Thu, Jan 15, 2015 at 5:31 PM, Jan Kara <jack@suse.cz> wrote:
> 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 <jack@suse.cz>
> SUSE Labs, CR
I've spent the better part of yesterday wrapping up the first cut of
samba support to FIO so we can test a modified samba file server with
these changes in a few scenarios. Right now it's only sync but I hope
to have async in the future. I hope that by the time the summit rolls
around I'll have data to share from samba and maybe some other common
apps (node.js / twisted).
--
Milosz Tanski
CTO
16 East 34th Street, 15th floor
New York, NY 10016
p: 646-253-9055
e: milosz@adfin.com
--
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: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2015-01-16 15:44 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-15 17:43 Milosz Tanski
2015-01-15 18:30 ` Jeff Moyer
2015-01-16 15:40 ` Milosz Tanski
2015-01-15 22:31 ` [Lsf-pc] " Jan Kara
2015-01-16 15:44 ` Milosz Tanski [this message]
2015-01-16 16:55 ` Jeremy Allison
2015-01-19 3:49 ` Milosz Tanski
2015-01-19 7:12 ` Jeremy Allison
2015-01-19 7:34 ` James Bottomley
2015-01-19 14:18 ` Milosz Tanski
2015-01-19 15:31 ` Jens Axboe
2015-01-19 15:49 ` James Bottomley
2015-01-19 16:48 ` Jeremy Allison
2015-01-19 17:26 ` James Bottomley
2015-01-19 17:32 ` Jeremy Allison
2015-01-19 17:36 ` Richard Sharpe
2015-01-19 20:00 ` Jens Axboe
2015-01-19 16:10 ` Volker Lendecke
2015-01-19 16:20 ` Milosz Tanski
2015-01-19 16:50 ` Jeremy Allison
2015-01-23 23:15 ` Steve French
2015-01-24 2:17 ` Jens Axboe
2015-01-24 5:53 ` Jeremy Allison
2015-01-24 23:00 ` Jens Axboe
2015-01-20 19:33 ` Jens Axboe
2015-01-20 23:07 ` Milosz Tanski
2015-01-20 23:22 ` Milosz Tanski
2015-01-20 23:26 ` Jens Axboe
2015-01-20 23:30 ` Jens Axboe
2015-01-20 23:53 ` Milosz Tanski
2015-01-21 21:17 ` Jens Axboe
2015-01-23 0:03 ` Milosz Tanski
2015-01-23 0:10 ` Milosz Tanski
2015-01-19 17:04 ` Jeremy Allison
2015-01-19 17:18 ` Richard Sharpe
2015-01-19 17:20 ` Jeremy Allison
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CANP1eJGRX4w56Ek4j7d2U+F7GNWp6RyOJonxKxTy0phUCpBM9g@mail.gmail.com \
--to=milosz@adfin.com \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lsf-pc@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox