linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
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>

  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