K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-10T21:09:17.255857Z K 7 svn:log V 1015 Add m_uiotosfmbuf() which turns a uio iovec array into a chain of mbuf's with sfbuffers attaches to it. sfbuffers in turn directly reference and hold the VM page. Once traveled through the stack the NIC then directly DMA's the data from the userspace VM pages. The referenced pages are protected from going aways but no from concurrent modification by the application. If data in the page is modified while the mbuf/sfbuf is still waiting in a queue to the sent, the modified data will be sent. Additionally certain cache and memory coherence effects may come into play resulting in unpredictably in whether the old or new data will go out eventually. This is the same as with sendfile(2) where the application also should not modify the backing file while sending. It is the equivalent to m_uiotombuf() which does a normal copyin. It is the first step for a new send side zero copy implementation. This checkpoints a work in progress, isn't complete and likely has evil bugs or poorly handled edge cases. END