> 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/