Re: O_NONBLOCK, read(), select(), NFS, Ext2, etc.

Dan Kegel (dank@alumni.caltech.edu)
Fri, 12 Jan 2001 10:10:59 -0800


Michael Rothwell (rothwell@holly-springs.nc.us) wrote:

> How about using fcntl(), O_ASYNC and SIGIO?

Don't think that's supported for disk files yet, at least by the
kernel. glibc does aio emulation with threads, which isn't great.

> Or maybe a broader question:
> what's the preferred/working way to do async file i/o on Linux?

SGI has done lots of work on this, using kernel threads;
they don't have a patch yet for 2.4.0, but they do support
2.2.17 and 2.4.0-test10.

TUX uses async I/O, I think, but it's inside the kernel.
I hear plans are afoot for giving userspace async I/O that
avoids creating threads; that should be more scalable than
SGI's approach, if it ever happens.

See http://www.kegel.com/c10k.html#aio for links and a few notes.
- Dan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/