]> www.infradead.org Git - users/jedix/linux-maple.git/commit
xprtrdma: Stack relief in fmr_op_map()
authorChuck Lever <chuck.lever@oracle.com>
Tue, 25 Aug 2015 18:57:33 +0000 (12:57 -0600)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 31 Aug 2015 20:45:57 +0000 (14:45 -0600)
commitc7c4d891337bef074955a201a5ae201a2cc9f960
tree5d92ab3a5a2250896a1554ae4c9204c3357d790e
parentb0008ee30b05970eb50628794ee313c51a545527
xprtrdma: Stack relief in fmr_op_map()

[ Upstream commit acb9da7a57d7905c46d0b69d30fcf944eae261de ]

fmr_op_map() declares a 64 element array of u64 in automatic
storage. This is 512 bytes (8 * 64) on the stack.

Instead, when FMR memory registration is in use, pre-allocate a
physaddr array for each rpcrdma_mw.

This is a pre-requisite for increasing the r/wsize maximum for
FMR on platforms with 4KB pages.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Steve Wise <swise@opengridcomputing.com>
Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
Reviewed-by: Devesh Sharma <devesh.sharma@avagotech.com>
Tested-By: Devesh Sharma <devesh.sharma@avagotech.com>
Reviewed-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprtrdma/fmr_ops.c
net/sunrpc/xprtrdma/xprt_rdma.h