Commit 0adc8794 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

SUNRPC: Convert GFP_NOFS to GFP_KERNEL



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: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 4fb547be
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -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;
+2 −2
Original line number Diff line number Diff line
@@ -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);
}

/*
+1 −1
Original line number Diff line number Diff line
@@ -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;