O_NONBLOCK, read(), select(), NFS, Ext2, etc.
Quoted 1 line · Michael Rothwell
How about using
fcntl(),O_ASYNCand 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.
Quoted 2 lines
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 [email protected]
Please read the FAQ at http://www.tux.org/lkml/