Tuesday, June 30, 2009

better than zero-copy stacks

conundrum - can you do better than a zero-copy stack?

far as i recall, some folks at Sun Microsystems did the first unix with zero copy
from user space to/from network device way way back (prob. 92?) so that was as good as it gets in some sense....or is it? can you get a packet from the net in less than no time? I think you can in the sense that you could wake up the application before all the packet had finished dma-ing (or for a non blocking read/write application, you could do the copy on write thing 1 bit ahead rather than the whole packet) - of course, you'd need some insanely fine grain lock on the packet buffer somehow (or some fine grain virtual memory hack) which will be Rather Expensive(TM) in Real Life...

No comments: