On 18.10.2012 22:22, Andre Oppermann wrote:
Author: andre
Date: Thu Oct 18 20:22:17 2012
New Revision: 241703
URL: http://svn.freebsd.org/changeset/base/241703

Log:
   Remove double-wrapping of #ifdef ZERO_COPY_SOCKETS within
   zero copy specialized sosend_copyin() helper function.

Note that I'm not saying zero copy should be used or is even
more performant than the optimized m_uiotombuf() function.
Actually there may be some real bit-rot to zero copy sockets.
I've just started looking into it.

Note that zero copy isn't entirely true either as it marks
the page as COW.  So when the userspace application reuses
the memory it is copied anyway.  Also the overhead of doing
the VM magic and mbuf attachment of a VM page isn't free
either.  To really benefit from it an application has to be
written with COW in mind and not reuse the memory that was
just written to the socket.  For non-aware applications it
may be a net performance loss overall.

Also I don't like the name zero-copy-socket as it promises
too much for those not into socket, mbuf and VM magic.
I'd rather call it cow-socket or something like that as it
describes much better what is actually happening behind the
scenes.

--
Andre

_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to