Skip to content
Commit 16f906d6 authored by Chuck Lever's avatar Chuck Lever Committed by Anna Schumaker
Browse files

xprtrdma: Reduce required number of send SGEs

The MAX_SEND_SGES check introduced in commit 655fec69


("xprtrdma: Use gathered Send for large inline messages") fails
for devices that have a small max_sge.

Instead of checking for a large fixed maximum number of SGEs,
check for a minimum small number. RPC-over-RDMA will switch to
using a Read chunk if an xdr_buf has more pages than can fit in
the device's max_sge limit. This is considerably better than
failing all together to mount the server.

This fix supports devices that have as few as three send SGEs
available.

Reported-by: default avatarSelvin Xavier <selvin.xavier@broadcom.com>
Reported-by: default avatarDevesh Sharma <devesh.sharma@broadcom.com>
Reported-by: default avatarHonggang Li <honli@redhat.com>
Reported-by: default avatarRam Amrani <Ram.Amrani@cavium.com>
Fixes: 655fec69

 ("xprtrdma: Use gathered Send for large ...")
Cc: stable@vger.kernel.org # v4.9+
Tested-by: default avatarHonggang Li <honli@redhat.com>
Tested-by: default avatarRam Amrani <Ram.Amrani@cavium.com>
Tested-by: default avatarSteve Wise <swise@opengridcomputing.com>
Reviewed-by: default avatarParav Pandit <parav@mellanox.com>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent c95a3c6b
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment