On 1/2/06, Zoran Vasiljevic <[EMAIL PROTECTED]> wrote: > > Am 02.01.2006 um 17:23 schrieb Stephen Deasey: > > >> So, what is the problem? > > > > > > http://www.gnu.org/software/libc/manual/html_node/Configuration-of- > > AIO.html > > > > Still, where is the problem? The fact that Linux implements them as > userlevel thread does not mean much to me.
If the problem is that threads are too "heavy", then it's pointless to use aio_write() etc. if the underlying implementation also uses threads. It will be worse than using conn threads alone, as there will be extra context switches as control bounces from driver thread, to IO thread, back to driver thread, and finally to conn thread. If what you're saying is Solaris needs it, Linux doesn't matter, well I don't know about that. Here's another way to look at it: We already dedicate a conn thread for every download. What's so special about uploads that we can't also dedicate a thread to them? The threads are long lived, you can prevent them from running Tcl etc... Sure, the ideal would be AIO for both uploads and downloads. But the io_* API is busted, at least on one major platform, possibly more. Have you looked at Darwin, how do they implement it? What are you going to do on Windows?
