Skip to contentSkip to conversation

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

DISCUSSION Dan Kegel 1 participant 1 message Jan 12, 2001

lore
Share & tools
lore

Dan Kegel

author
#0 lore raw
Quoted 1 line · Michael Rothwell

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.

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/