NFS: Fix memory allocation in rpc_malloc()
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Tue, 15 Mar 2022 02:02:22 +0000 (22:02 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Tue, 22 Mar 2022 19:52:55 +0000 (15:52 -0400)
commit33e5c765bc1ea5e06ea7603637f14d727e6fcdf3
tree03fce3288dbf7e4ab704cd96ccc88a6b6613f6db
parentd0afde5fc6fb13531e2434fc4b6a65f131671f68
NFS: Fix memory allocation in rpc_malloc()

When in a low memory situation, we do want rpciod to kick off direct
reclaim in the case where that helps, however we don't want it looping
forever in mempool_alloc().
So first try allocating from the slab using GFP_KERNEL | __GFP_NORETRY,
and then fall back to a GFP_NOWAIT allocation from the mempool.

Ditto for rpc_alloc_task()

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
include/linux/sunrpc/sched.h
net/sunrpc/sched.c