tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: compat_linux and AIO



<Paul_Koning%Dell.com@localhost> wrote:
> 
> 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..

-- 
Mindaugas


Home | Main Index | Thread Index | Old Index