Re: [NFS] What is the current zerocopy status?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday 14. March 2002 03:19, Ephi Dror wrote:
> Dear Trond,
>
> Thank you for your help.
>
> When I was reading
> http://marc.merlins.org/linux/linux.conf.au_2001/Day3/ZeroCopyNet.html
>
> I had the feeling that NFS client side was completed. It says:
> "... Now that the NFS client side has been fixed, the server side
> (knfsd) still needs to be worked on.  ....". This is why I thought it
> should be somewhere.

I assume that passage was referring to the UDP receive code and delayed 
fragmentation. For the particular case of NFS, the kernel does a copy 
(+checksum if hardware checksumming has not been done) directly from the 
fragmented skb.

> In regards to the receiving side and NFS header splitting, you right
> that to do it for each possible RPC command will be hard, however the
> idea is just to do it for the RPC write request and RPC read respond and
> I hope it should not be that hard.

No idea. As I said, I'm not really aware of the type of hardware to which you 
refer, and how it would work. Do you have a reference?

> I am interested to know if there is an interest in the LINUX community
> to build support for such stuff too.

I have no immediate plans to code for this sort of thing, but perhaps others 
are interested and are willing to contribute code?

> 1. How is zerocopy sock->ops->sendpage operation related to Ethernet
> cards that support fragments? I understand that scatter/gather
> capabilities let you avoid copies in general in the outbound direction.

As far as I know, the scatter/gather DMA is only needed in order to splits up 
each page into correctly-sized fragments. Without that capability, you need 
linear buffers of the form header+data i.e. you need the extra copy.

Cheers,
  Trond
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux