Bart Smaalders wrote: > ... > * Buffers are pre-posted, so with a proper implementation & > hardware, copies may be avoided. Even if copies are required, > they can be done by other cpus/threads/io dma engines. This > means that even single threaded apps should see a significant > reduction in UDP latency on MP hardware. > * Seamless threading is possible w/o any user locking required > to manage pending IO lists; the event port mechanism provides a > user-specified pointer to accompany each IO operation. > * Other pending IO operations (disk, poll(2), listen, accept, etc) > can be handled in the event loop, since event_ports are designed > to unify dispatching paradigm. > > Supporting asynchronous IO on sockets also admits significant > performance wins on the transmit side, since zero copy is easily done. > > The downsides w/ asynchronous I/O is that some thought needs to be > given to transmit/receive buffer management, and that it may > represent a new programming pattern for networking developers. >
I've always considered sockets to support asynchronous I/O through non-blocking I/O and using occassionally with signals. How is what you're proposing any different from what already exists? Is there a technical doc/spec somewhere that outlines what the advantages of this model are vs other techniques? Darren _______________________________________________ networking-discuss mailing list networking-discuss@opensolaris.org