Re: async I/O seems to be blocking on 2.6.15

From: Jens Axboe
Date: Mon Nov 06 2006 - 12:08:20 EST


On Mon, Nov 06 2006, Phillip Susi wrote:
> Jens Axboe wrote:
> >You could optimistically retry when you had reaped some completed
> >events, or use some controlled way of blocking for free request
> >notification. There are many ways, most of them share the fact that the
> >time between notification and new io_submit() may change the picture, in
> >which case you'd get EAGAIN once more.
> >
> >The important bit is imho to make the blocking at least deterministic.
> >At some point you _have_ to block for resources, but it's not very
> >polite to be blocking for a considerable time indeterministically.
> >
>
> Right, but there currently exists no mechanism for waiting until there
> is room in the queue is there? My point was that this would be required
> in order to return EAGAIN.

No mechanism exists, since we don't return EAGAIN for this condition
right now. I wouldn't say it's required, just retrying when you have
reaped one (or more) completed events should be good enough. You can't
do much better than that anyway, with others beating on the disk as
well.

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/