Re: [patch 13/13] signalfd/timerfd/asyncfd v5 - KAIO asyncfd support(example/maybe-broken) ...

From: Davide Libenzi
Date: Wed Mar 14 2007 - 20:32:51 EST


On Wed, 14 Mar 2007, Davide Libenzi wrote:

> On Wed, 14 Mar 2007, Benjamin LaHaise wrote:
>
> > On Wed, Mar 14, 2007 at 04:41:58PM -0700, Davide Libenzi wrote:
> > > Yeah, of course. I do not plan revolutions. Just asking if it's a possible
> > > thing to do. I can mlock the userspace ring, if imposing that burden over
> > > aio_complete() is seen as too heavy.
> >
> > I'm not sure I follow what you're doing -- why isn't asyncfd merely calling
> > io_getevents() instead of reinventing everything the ringbuffer does? The
> > aio ringbuffer is already locked in memory. Fwiw, the aio ringbuffer was
> > originally wired up to a file descriptor, but that gave way to the actual
> > syscall in order to enforce proper typechecking and typical usage scenarios
> > with timeouts.
>
> The purpose of asyncfd is to provide a pollable (by the mean of
> f_op->poll) device that can be hosted inside a standard select/poll/epoll
> wait subsystem, and that, at the same time, provide a zero-copy way for
> kernel code (KAIO and syslets/threadlets were my thought) to deliver
> results to userspace.

But, yeah. It can end up calling io_getevents() instead of doing it's own
thing. That'd make it even slimmer ;)



- Davide


-
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/