SUNRPC: Convert GFP_NOFS to GFP_KERNEL
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Sat, 29 Jan 2022 17:49:44 +0000 (12:49 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Fri, 25 Feb 2022 23:50:12 +0000 (18:50 -0500)
The sections which should not re-enter the filesystem are already
protected with memalloc_nofs_save/restore calls, so it is better to use
GFP_KERNEL in these calls to allow better performance for synchronous
RPC calls.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
net/sunrpc/auth_unix.c
net/sunrpc/clnt.c
net/sunrpc/rpcb_clnt.c
net/sunrpc/sched.c
net/sunrpc/xprt.c

index e7df1f782b2e1f5bac4e9aba3b8b172abfe70842..3600d864164482ca8e60d195c9b90ab94490d171 100644 (file)
@@ -43,7 +43,7 @@ unx_destroy(struct rpc_auth *auth)
 static struct rpc_cred *
 unx_lookup_cred(struct rpc_auth *auth, struct auth_cred *acred, int flags)
 {
-       struct rpc_cred *ret = mempool_alloc(unix_pool, GFP_NOFS);
+       struct rpc_cred *ret = mempool_alloc(unix_pool, GFP_KERNEL);
 
        rpcauth_init_cred(ret, acred, auth, &unix_credops);
        ret->cr_flags = 1UL << RPCAUTH_CRED_UPTODATE;
index c83fe618767c4d486ee9a467d901f44e48042685..97165a545cb3c900ba8fd00e533f9df44c9d0114 100644 (file)
@@ -2793,7 +2793,7 @@ int rpc_clnt_test_and_add_xprt(struct rpc_clnt *clnt,
                return -EINVAL;
        }
 
-       data = kmalloc(sizeof(*data), GFP_NOFS);
+       data = kmalloc(sizeof(*data), GFP_KERNEL);
        if (!data)
                return -ENOMEM;
        data->xps = xprt_switch_get(xps);
index 647b323cc1d56f79347eee30f88445753e35d24a..0fdeb8666bfd891db008950a34622caebdff84ef 100644 (file)
@@ -714,7 +714,7 @@ void rpcb_getport_async(struct rpc_task *task)
                goto bailout_nofree;
        }
 
-       map = kzalloc(sizeof(struct rpcbind_args), GFP_NOFS);
+       map = kzalloc(sizeof(struct rpcbind_args), GFP_KERNEL);
        if (!map) {
                status = -ENOMEM;
                goto bailout_release_client;
@@ -730,7 +730,7 @@ void rpcb_getport_async(struct rpc_task *task)
        case RPCBVERS_4:
        case RPCBVERS_3:
                map->r_netid = xprt->address_strings[RPC_DISPLAY_NETID];
-               map->r_addr = rpc_sockaddr2uaddr(sap, GFP_NOFS);
+               map->r_addr = rpc_sockaddr2uaddr(sap, GFP_KERNEL);
                if (!map->r_addr) {
                        status = -ENOMEM;
                        goto bailout_free_args;
index e2c835482791e3c31cb639ee5999f5a03e1b90f6..52769b883c0a03ee6d913e8492bd933e1eb81281 100644 (file)
@@ -1021,7 +1021,7 @@ int rpc_malloc(struct rpc_task *task)
        struct rpc_rqst *rqst = task->tk_rqstp;
        size_t size = rqst->rq_callsize + rqst->rq_rcvsize;
        struct rpc_buffer *buf;
-       gfp_t gfp = GFP_NOFS;
+       gfp_t gfp = GFP_KERNEL;
 
        if (RPC_IS_SWAPPER(task))
                gfp = __GFP_MEMALLOC | GFP_NOWAIT | __GFP_NOWARN;
@@ -1095,7 +1095,7 @@ static void rpc_init_task(struct rpc_task *task, const struct rpc_task_setup *ta
 static struct rpc_task *
 rpc_alloc_task(void)
 {
-       return (struct rpc_task *)mempool_alloc(rpc_task_mempool, GFP_NOFS);
+       return (struct rpc_task *)mempool_alloc(rpc_task_mempool, GFP_KERNEL);
 }
 
 /*
index a02de2bddb28b48bb6798327c0814e769314621b..9f0025e0742c3079e01f48587b4bb480fa80b8d5 100644 (file)
@@ -1692,7 +1692,7 @@ static struct rpc_rqst *xprt_dynamic_alloc_slot(struct rpc_xprt *xprt)
                goto out;
        ++xprt->num_reqs;
        spin_unlock(&xprt->reserve_lock);
-       req = kzalloc(sizeof(struct rpc_rqst), GFP_NOFS);
+       req = kzalloc(sizeof(struct rpc_rqst), GFP_KERNEL);
        spin_lock(&xprt->reserve_lock);
        if (req != NULL)
                goto out;