[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: compat_linux and AIO
> On Oct 5, 2012, at 12:01 PM, Emmanuel Dreyfus wrote:
> > Hi
> > I am playing with oracle XE on 6.0_RC2 and ktrace tells me that this
> > requires Linux aio_* system calls.
> > Here is the documentation:
> > http://lse.sourceforge.net/io/aio.html
> > Abd the system call man pages:
> > http://www.kernel.org/doc/man-pages/online/pages/man2/io_setup.2.html
> > http://www.kernel.org/doc/man-pages/online/pages/man2/io_submit.2.html
> > http://www.kernel.org/doc/man-pages/online/pages/man2/io_getevents.2.html
> > http://www.kernel.org/doc/man-pages/online/pages/man2/io_cancel.2.html
> > http://www.kernel.org/doc/man-pages/online/pages/man2/io_destroy.2.html
> > How difficult would this be to implement? Anyone has ideas on it?
> Is there any advantage to using aio rather than regular I/O from
> threads? I've used both (aio only a little) and found aio rather hard to
> use while multithreading with conventional thread-blocking I/O seems easy
> and intuitive.
In the system (kernel), synchronous I/O = asynchronous I/O + blocking
until completion. There is no need to wrap this around into threads
and have their overhead. It is much better design-wise to have aio(3)
implemented as fully asynchronous i.e. rely on the underlying system
having that already. When five years ago I added aio(3), it was merely
easier to implement using kthreads as a first step. It is now becoming
a problem, though..
Main Index |
Thread Index |