On Wed, 6 Aug 2008 18:06:26 +0300 "Alexander Nezhinsky" <nezhinsky at gmail.com> wrote: > On Wed, Jul 30, 2008 at 10:04 AM, FUJITA Tomonori > <fujita.tomonori at lab.ntt.co.jp> wrote: > > > the future... We have it just because Linux AIO is not good enough > > now. > > Can you explain a bit what's wrong with the current Linux AIO implementation. > Why bs_aio.c is implemented using syscall(__NR_io_*)? > What is wrong with the aio_read/aio_write and friends? I think that that's Posix AIO, which glibc implemented. It's slower than the kernel AIO support. A big problem about it for us is event notification. We can't get AIO completion events via a file descriptor (so that we can't use poll/epoll with it). How can we wait for both network events and AIO events at the same time? The Linux kernel AIO works only with Direct I/O (that is, we can't use page cache with AIO). It's a huge problem for us so we don't use AIO now. > Is there a minimal linux kernel that supports this kind of AIO calls? > Minimal RedHat distro? I guess that all the distributions supports the kernel AIO. There is no kernel option to disable it now. |