[pnfs] Multiple tcp streams per mount point NFS patch

William A. (Andy) Adamson andros at citi.umich.edu
Fri Mar 14 14:54:06 EDT 2008


I've ported (and tested) the experimental multiple rpc_xprt per rpc_clnt
patch forward to the latest pnfs kernel (2.6.24-pnfs). it's one large patch.

troy.citi.umich.edu:/vol/home/andros/pnfs-file-ibm/multiple_tcp/2.6.24-pnfs-client-multiple-rpc_xprt-per-rpc_clnt.patch
.

pnfs: is there interest in this experimental patch?   should we have a
'performance testing' branch of the pnfs git tree where experimental code
such as this patch can be kept up to date?

the new feature is controlled by a new sysctl, which needs to be set while
the server is not mounted.

TEN% sysctl -a | grep sunrpc
sunrpc.rpc_debug = 0
sunrpc.nfs_debug = 0
sunrpc.nfsd_debug = 0
sunrpc.nlm_debug = 0
sunrpc.udp_slot_table_entries = 16
sunrpc.tcp_slot_table_entries = 16
sunrpc.min_resvport = 665
sunrpc.max_resvport = 1023
sunrpc.tcp_xprt_table_entries = 2

sunrpc.tcp_xprt_table_entries has a default value of 1. increasing it's
value increases the number of tcp streams from the client to all mounted
servers.

tcp_slot_table_entries are allocated in a round robin fashion, with a wait
queue if no slots are available.  the new code chooses the next rpc_xprt
table, which represents a tcp connection from a unique port, at the same
time. e.g. once a slot is available, the same code chooses the next
rpc_xprt.

so the window size is now  the number of
sunrpc.tcp_slot_table_entriesdivided by the number of
sunrpc.tcp_xprt_table_entries.

in the above sysctl output, there are 8
sunrpc.tcp_slot_table_entriesavailable to each tcp connection.

this gives the NFS client (v3/4/4.1) the same knob that FDT (
http://monalisa.cern.ch/FDT/    ) has on the client side, to manipulate the
number of tcp connections to the server.

-->Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://linux-nfs.org/pipermail/pnfs/attachments/20080314/61aa5a2c/attachment-0001.htm 


More information about the pNFS mailing list