Hi Ysuf, Thanks a lot for the info. I looked at those drivers (starfire and 3c59x) on one of the latest kernel releases (2.4.16). Unfortunately, I could not find any zerocopy code in NFS server for example that takes advantage and zero copy RPC write request directly into file system buffers cache for example. In FreeBSD on the other hand, they have patched NFS and sockets to work with special Ethernet driver that is capable of DMA the actual payload (does header splitting) to the file system buffers. To me this is really zerocopy since they manage to eliminate the copy of the payload from the network buffers to the file system buffers. The payload is dma directly to final destination from the NIC and never ever copy again Questions: 1. Do we have something similar to that level for LINUX NFSD or NFS client? If yes, in what versions? 2. Have Dave Miller's slides been implemented anywhere, things like NFS Server processing NFS client's write requests and zero copy the payload page to vfs? 3. Also, there is the zerocopy sendfile system call. Is there any recvfile system call that does the other side which zerocopy data from a socket to an fd. I know it needs aligned and only payload data, but assume we have that. Thanks so much, Any hints and leads to NFS zerocopy implementations will be highly appreciated. Cheers, Ephi -----Original Message----- From: Yusuf Goolamabbas [mailto:yusufg@outblaze.com] Sent: Monday, December 17, 2001 11:35 PM To: Ephi Dror Cc: nfs@lists.sourceforge.net; kernelnewbies@nl.linux.org Subject: Re: [NFS] Zero-copy NFS and sendfile Linux has zero-copy infrastructure available since 2.4.4 AFAIR, It's available via some drivers though unfortunately Intel EEpro's don't seem to be in the list (I don't know if Intel's e100.o can do scatter-gather+hardware checksum) Dave Miller's slide at LinuxConf Au has more info http://marc.merlins.org/linux/linux.conf.au_2001/Day3/ZeroCopyNet.html I am not sure if SG/HW cksum NIC support is required for "client side" delayed fragmentation. That would be a bummer since eepro's are embedded in most mobo's > Hi all, > > NFS: > Is there any zero-copy for sockets and/or NFS patches available for > Linux as it is available for FreeBSD with using special hardware? > See http://people.freebsd.org/~ken/zero_copy/ for details. > > Sendfile: > I know that sendfile suppose to be zero-copy based. What are the best > scenarios in which using sendfile can really improve performance? Is it > better when you stream very large file and data is not in cache or is it > better for cases in which data is already in cache? Or is it just always > better? > If I understand correctly, at least for the sending side, there is no > need for special hardware, am I right? > > Any information or pointers to docs will be highly appreciated. > > Cheers, > Ephi > . -- Yusuf Goolamabbas yusufg@outblaze.com -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/