Hi, everybody! I have found some Intel NICs which supports "header splitting". Does FreeBSD support them for zero-copy receive? One more question please... is there a way to determine whether or not zero-copy receive is working, for example by kernel log or something else?
Thank you in advance. 2010/3/21 Alexander Bubnov <alexander.bub...@gmail.com> > Bruce, many thanks for comprehensive answer! > > 2010/3/20 Bruce Simpson <b...@incunabulum.net> > > On 03/20/10 10:06, Alexander Bubnov wrote: >> >>> Hello, all! >>> Anybody knows why zero copy is not popular although this technique >>> allows >>> to increase performance of servers? It is very hard to find any examples >>> of >>> zero-copy for FreeBSD. >>> >>> >> >> Transmit is easy. Receive is hard. >> >> The whole concept of zero-copy revolves around being able to use >> page-flipping to map buffers in user and kernel space, to amortize the cost >> of copies across that system boundary. >> >> The compromise usually taken is to use the sendfile() API, or rely on TCP >> Segmentation Offload (TSO), much like Microsoft's Chimney stack does in >> Windows 7. Unfortunately, sendfile() only covers transmit. TSO only offloads >> up to the point where sockets hit the card; TSO can offload TCP stream >> reassembly, but you still have to copy from the kernel buffers into >> userland. >> >> True zero-copy sockets generally require scatter/gather DMA engine >> support, and TCP/IP header splitting, to do zero-copy recieve. >> >> S/G PCI DMA cores are often custom designed, and you tend not to find them >> in off-the-shelf VHDL libraries. That IP (as in intellectual property) still >> has cost. >> >> Historically the only cards in FreeBSD which supported this, were the >> Tigon-II, which got bought by Broadcom (bge is the Tigon-III). Modified >> firmware was required to do this. >> >> >> _______________________________________________ >> freebsd-net@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-net >> To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org" >> > > > > -- > /BR, Alexander > -- /BR, Alexander _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"