nonblocking disk I/O?

Dan Kegel (dank@alumni.caltech.edu)
Wed, 19 May 1999 07:40:28 -0700


Dean Gaudet wrote:
> sendfile() blocks as well [on disk i/o]. ...
> There is no "completion" call for sendfile() -- you need a
> completion call in order to do things asynchronously.
>
> Or you can peek at the linux kernel source, mm/filemap.c, search for
> do_generic_file_read, notice the wait_on_page() call.

Dang. I notice that the subject of nonblocking disk I/O
has come up several times in the past (e.g.
http://www.deja.com/getdoc.xp?AN=373588318
http://x31.deja.com/getdoc.xp?AN=459141949 ).

It'd be real nice to be able to write a single-threaded
http server that didn't block all clients when one
client needed to do disk I/O. As it stands, this seems
impossible with Linux. (And aio_read won't help, I hear
it uses threads, which would be cheating.)

Is this something that we could add to the wish list for 2.3?

Would it require adding something like the minischeduler
built in to RPC (net/sunrpc/sched.c)?

- Dan

p.s. This linuxhq.com thing is getting me down.
I can't read the mailing list the way I like to...
even Jim Pick's alternate site (204.209.212.113) seems
broken...

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/