Date: Wed, 17 Mar 2010 19:20:11 +0300 From: Vasily Kirin <vasily.kirin@gmail.com> To: freebsd-net@freebsd.org Subject: zero copy HTTP server Message-ID: <a97f34a1003170920y1129baa3wf781bca9df8c04f5@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi. As I can read here: http://www.freebsd.org/cgi/man.cgi?query=zero_copy&apropos=0&sektion=0&manpath=FreeBSD+8.0-RELEASE&format=html(man 9 zero_copy) FreeBSD can deliver received TCP data from the kernel to userspace without any copy ("DMAed from the NIC to a buffer that will then be given to the user" - from `man 9 zero_copy`) Further, TCP content cannot be copied to continuous buffer without NIC with "header splitting" feature. (Achieving page aligned payloads requires a NIC that can split an incoming packet into multiple buffers. It also generally requires some sort of intelligence on the NIC to make sure that the payload starts in its own buffer. This is called ``header splitting``''. - from `man 9 zero_copy`) I've found several Intel cards with this feature, but still can't find any example or using this technique. Is there any example or comprehensive manual of receiving TCP stream in continuous buffer and passing this buffer to userspace without copy? Best Regards, Vasily
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a97f34a1003170920y1129baa3wf781bca9df8c04f5>