|| ||Hirokazu Takahashi <firstname.lastname@example.org>|
|| ||Neil Brown <email@example.com>, firstname.lastname@example.org,
|| ||[PATCH] zerocopy NFS for 2.5.36|
|| ||Wed, 18 Sep 2002 17:14:31 +0900 (JST)|
I ported the zerocopy NFS patches against linux-2.5.36.
I made va05-zerocopy-nfsdwrite-2.5.36.patch more generic,
so that it would be easy to merge with NFSv4. Each procedure can
chose whether it can accept splitted buffers or not.
And I fixed a probelem that nfsd couldn't handle NFS-symlink
requests which were very large.
This patch enables HW-checksum against outgoing packets including UDP frames.
This patch makes sendfile systemcall over UDP work. It also supports
UDP_CORK interface which is very similar to TCP_CORK. And you can call
sendmsg/senfile with MSG_MORE flags over UDP sockets.
This patch fixes the problem of x86 csum_partilal() routines which
can't handle odd addressed buffers.
This patch makes RPC can send some pieces of data and pages without copy.
This patch makes NFSD send pages in pagecache directly when NFS clinets request
nfsd_readdir can also send pages without copy.
This patch makes per-cpu UDP sockets so that NFSD can send UDP frames on
each prosessor simultaneously.
Without the patch we can send only one UDP frame at the time as a UDP socket
have to be locked during sending some pages to serialize them.
This patch enables NFS-write uses writev interface. NFSd can handle NFS
requests without reassembling IP fragments into one UDP frame.
This patch makes writev for regular file work faster.
It also can be found at
XFS doesn't support writev interface yet. NFS write on XFS might
slow down with No.8 patch. I wish SGI guys will implement it.
This makes NFS buffer much bigger (60KB).
60KB buffer is the same to 32KB buffer for linux-kernel as both of them
require 64KB chunk.
If you don't want to use sendfile over UDP yet, you can apply it instead of No.1 and No.2 patches.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/