All of lore.kernel.org
 help / color / mirror / Atom feed
From: Milosz Tanski <milosz@adfin.com>
To: lsf-pc@lists.linux-foundation.org
Cc: "linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	linux-mm@kvack.org, Christoph Hellwig <hch@infradead.org>
Subject: [LSF/MM TOPIC] async buffered diskio read for userspace apps
Date: Thu, 15 Jan 2015 12:43:23 -0500	[thread overview]
Message-ID: <CANP1eJF77=iH_tm1y0CgF6PwfhUK6WqU9S92d0xAnCt=WhZVfQ@mail.gmail.com> (raw)

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.


-- 
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-15 17:43 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-15 17:43 Milosz Tanski [this message]
2015-01-15 18:30 ` [LSF/MM TOPIC] async buffered diskio read for userspace apps Jeff Moyer
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
2015-01-16 16:55     ` Jeremy Allison
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:12           ` Jeremy Allison
2015-01-19  7:34           ` James Bottomley
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:31                 ` Jens Axboe
2015-01-19 15:49                 ` James Bottomley
2015-01-19 15:49                   ` James Bottomley
2015-01-19 16:48                   ` Jeremy Allison
2015-01-19 16:48                     ` Jeremy Allison
2015-01-19 17:26                     ` James Bottomley
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 20:00                       ` Jens Axboe
2015-01-19 16:10                 ` Volker Lendecke
2015-01-19 16:10                   ` Volker Lendecke
2015-01-19 16:20                   ` Milosz Tanski
2015-01-19 16:20                     ` Milosz Tanski
2015-01-19 16:50                     ` Jeremy Allison
2015-01-19 16:50                       ` Jeremy Allison
2015-01-23 23:15                     ` Steve French
2015-01-23 23:15                       ` Steve French
2015-01-24  2:17                       ` Jens Axboe
2015-01-24  2:17                         ` Jens Axboe
2015-01-24  5:53                         ` Jeremy Allison
2015-01-24  5:53                           ` Jeremy Allison
2015-01-24 23:00                           ` Jens Axboe
2015-01-24 23:00                             ` Jens Axboe
2015-01-20 19:33                 ` Jens Axboe
2015-01-20 19:33                   ` Jens Axboe
2015-01-20 23:07                   ` Milosz Tanski
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:26                         ` Jens Axboe
2015-01-20 23:30                         ` Jens Axboe
2015-01-20 23:30                           ` Jens Axboe
2015-01-20 23:53                           ` Milosz Tanski
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:04                 ` Jeremy Allison
2015-01-19 17:18                 ` Richard Sharpe
2015-01-19 17:20                   ` Jeremy Allison
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='CANP1eJF77=iH_tm1y0CgF6PwfhUK6WqU9S92d0xAnCt=WhZVfQ@mail.gmail.com' \
    --to=milosz@adfin.com \
    --cc=hch@infradead.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.