linux-2.4.18-rpc_tweaks.dif

From: Kurt Garloff (garloff@suse.de)
Date: Tue Mar 26 2002 - 21:27:37 EST


Hi Trond,

http://www.fys.uio.no/~trondmy/src/2.4.18/linux-2.4.18-rpc_tweaks.dif
contains a change that causes devastating NFS client performance: My NFS
read performance on a switched 100BaseT went down from >9MB/s to 500kB/s.
(NFSv3, rsize=8192, 2.4.16 AXP kernel nfsd server)

The reason is that
xprt_adjust_cwnd()
does no longer do what the comment above says it should do:
_slowly_ increase cwnd until we start to hit the limit (which we see from
timed out requests). Instead cwnd gets bumped very fast resulting in lots of
timed out requests. This way you get fast oscillations in cwnd.

Putting the old code back for xprt_adjust_cwnd() gave me back the old
performance.

Except for the missing damping, comparing the functionality with the old
code, e.g. this snippet
+ if (xprt->cong > cwnd)
+ goto out;
also makes me wonder whether it could be correct.
Please have a look at it again!

Regards,

-- 
Kurt Garloff                   <kurt@garloff.de>         [Eindhoven, NL]
Physics: Plasma simulations  <K.Garloff@Phys.TUE.NL>  [TU Eindhoven, NL]
Linux: SCSI, Security          <garloff@suse.de>    [SuSE Nuernberg, DE]
 (See mail header or public key servers for PGP2 and GPG public keys.)


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Mar 31 2002 - 22:00:12 EST