Messages in this thread | | | Date | Wed, 19 May 1999 07:40:28 -0700 | From | Dan Kegel <> | Subject | nonblocking disk I/O? |
| |
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/
| |