nfsd: fix performance-limiting session calculation
authorJ. Bruce Fields <bfields@redhat.com>
Thu, 21 Feb 2019 15:47:00 +0000 (10:47 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Mar 2019 19:10:09 +0000 (20:10 +0100)
commit10a68cdf1035689fe9bfb5e413110cefad510508
treea5c4f6427fec3f815d14714e530ae5ad85cfa010
parent2c648caf630db6f2e3429459b6a7fa4760275c58
nfsd: fix performance-limiting session calculation

commit c54f24e338ed2a35218f117a4a1afb5f9e2b4e64 upstream.

We're unintentionally limiting the number of slots per nfsv4.1 session
to 10.  Often more than 10 simultaneous RPCs are needed for the best
performance.

This calculation was meant to prevent any one client from using up more
than a third of the limit we set for total memory use across all clients
and sessions.  Instead, it's limiting the client to a third of the
maximum for a single session.

Fix this.

Reported-by: Chris Tracy <ctracy@engr.scu.edu>
Cc: stable@vger.kernel.org
Fixes: de766e570413 "nfsd: give out fewer session slots as limit approaches"
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfsd/nfs4state.c