>>>>> " " == Ephi Dror <edror@silverbacksystems.com> writes: > Dear list members, > I am a bit confused about the state of the zerocopy support in > LINUX and will appreciate any info on that subject. > In particular: Does NFS client use zerocopy? if yes how? From > what version Does NFS Server use zerocopy? If yes, how? From > what version Does Sendfile system call use zerocopy? I have > seen that this is maybe the only place it is really in use. No. Neither the NFS client nor the server uses the TCP zero copy interface (a.k.a.sock->ops->sendpage). For the former, I simply haven't had the time yet, although I am planning some RPC changes for 2.5.x that will make zero copy possible. As for the latter: basic NFS over TCP server has just barely made it into 2.5.x... > Does zerocopy for LINUX mean only support for the transmit side > for "scatter/gather + checksum" capable NIC cards? We've had support for hardware checksumming on the UDP receive side since before the zero copy patch. When the latter is available, it is used by both the NFS client & server. Scatter/gather is used when supported by the driver. > Can someone point me to documentation on what has been changed > in sockets in this regards? Use the source, Luke... > What about the receive side, there are smart chips that can > split NFS headers from payloads for example, so payload > theoretically can go directly into file system buffers if they > pre assigned and the Ethernet driver knows when to use them? > I have seen interesting support on FreeBSD for those next > generation hardware and I am wondering what the LINUX position > on it is. I'm not aware of the particular hardware you are referring to, but unless these chips are *really* smart, I doubt the above is of much interest for NFS. There is quite a bit of overhead involved in interpreting the XDR code (see RFC1831 and RFC1832 for details). It is not a simple case of stripping off a header and then jamming a load of bytes into a buffer... Cheers, Trond -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/