All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Allison <jra@samba.org>
To: Ulrich Drepper <drepper@akkadia.org>
Cc: Jeremy Allison <jra@samba.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Daniel Ehrenberg <dehrenberg@google.com>,
	Jens Axboe <axboe@kernel.dk>, Jeff Moyer <jmoyer@redhat.com>,
	linux-kernel@vger.kernel.org, linux-aio@kvack.org
Subject: Re: Approaches to making io_submit not block
Date: Thu, 1 Sep 2011 08:58:45 -0700	[thread overview]
Message-ID: <20110901155845.GA758@samba2> (raw)
In-Reply-To: <4E5F690C.4010209@akkadia.org>

On Thu, Sep 01, 2011 at 07:14:20AM -0400, Ulrich Drepper wrote:
> On 08/31/2011 12:59 PM, Jeremy Allison wrote:
> > I get that, but isn't that what the aio_init(const struct aioinit *init) call is meant to
> > solve ?
> 
> The problem cannot be solved by something that trivial.  Any thread can
> be delayed indefinitely.  If this happens for a file descriptor chances
> are that all threads for the same file descriptor are affected while
> there is I/O for all the other file descriptors ready to run.  I don't
> say this is anywhere near optimal or even good, at least it doesn't
> amplify problems.  If you know you want more parallelism on the same
> file descriptor, dup it.

Yes I did consider that of course. Problem is that leads you to the
nightmare that is losing all fcntl locks on the file when any of the
descriptors are closed. Of course we already have internal work arounds
for that - but they're not scalable in this case.  We'd have to dup on
every read/write, and because of the fcntl lock problem we have to keep
all fd's around until the final close of the file. Don't tell us to
implement our own locking instead because (a) we already do in the case
where we don't need locking consistency with NFS and (b) most vendors insist on
locking consistency with NFS - not good if locks on one protocol aren't
seen by another.

> If you don't want anyone like me implementing
> stupid limitations finally fix the kernel aio interface so that it is
> usable.

If you know the limitation is stupid then one wonders why you added it
in the first place :-). Whatever happened to "the application writer
knows best what they are trying to do" and let us hang ourselves ?

I agree the kernel aio interface is unusable from applications, no
arguments about that.

Jeremy.

  reply	other threads:[~2011-09-01 15:58 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-29 17:33 Approaches to making io_submit not block Daniel Ehrenberg
2011-08-30  5:32 ` Christoph Hellwig
2011-08-30 21:51   ` Daniel Ehrenberg
2011-08-31  5:26     ` Christoph Hellwig
2011-08-31 17:08       ` Andi Kleen
2011-08-31 21:00         ` Daniel Ehrenberg
2011-08-31 21:15           ` Andi Kleen
2011-09-01  4:18         ` Dave Chinner
2011-09-01  4:39           ` Andi Kleen
2011-09-01  6:54             ` Dave Chinner
2011-09-02 13:08               ` Ted Ts'o
2011-09-02 13:10                 ` Christoph Hellwig
2011-09-01  3:39       ` Dave Chinner
2011-09-01  4:20         ` Christoph Hellwig
2011-08-30  7:02 ` Andi Kleen
     [not found] ` <CAAK6Zt0Sh1GdEOb-tNf2FGXJs=e1Jbcqew13R_GdTqrv6vW97w@mail.gmail.com>
     [not found]   ` <x49k49uk2ox.fsf@segfault.boston.devel.redhat.com>
     [not found]     ` <4E5D5817.6040704@kernel.dk>
2011-08-30 22:19       ` Daniel Ehrenberg
2011-08-30 22:32         ` Jens Axboe
2011-08-30 22:41           ` Andrew Morton
2011-08-30 22:45             ` Daniel Ehrenberg
2011-08-30 22:54               ` Andrew Morton
2011-08-30 23:03                 ` Jeremy Allison
2011-08-30 23:11                   ` Andrew Morton
2011-08-31 11:04                     ` Ulrich Drepper
2011-08-31 16:59                       ` Jeremy Allison
2011-09-01 11:14                         ` Ulrich Drepper
2011-09-01 15:58                           ` Jeremy Allison [this message]
2011-09-01 16:04                             ` Christoph Hellwig
2011-09-01 16:15                               ` Jeremy Allison
2011-09-01 16:23                                 ` Christoph Hellwig
2011-09-01 16:31                                   ` Jeremy Allison
2011-09-01 16:34                                     ` Christoph Hellwig
2011-09-01 16:34                                     ` Jeremy Allison
2011-09-01 16:45                                       ` Christoph Hellwig
2011-09-01 16:57                                         ` Jeremy Allison
2011-08-31  5:34                   ` Christoph Hellwig
2011-08-31  6:04                 ` guy keren
2011-08-31 23:16                   ` Daniel Ehrenberg
2011-08-31 23:48                     ` guy keren
2011-08-31 23:59                       ` Daniel Ehrenberg
2011-08-31 15:45                 ` Gleb Natapov
2011-08-31 16:02                   ` Avi Kivity

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=20110901155845.GA758@samba2 \
    --to=jra@samba.org \
    --cc=akpm@linux-foundation.org \
    --cc=axboe@kernel.dk \
    --cc=dehrenberg@google.com \
    --cc=drepper@akkadia.org \
    --cc=jmoyer@redhat.com \
    --cc=linux-aio@kvack.org \
    --cc=linux-kernel@vger.kernel.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.