diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2023-05-15 16:47:29 +0300 |
---|---|---|
committer | Chuck Lever <chuck.lever@oracle.com> | 2023-06-05 16:01:44 +0300 |
commit | 5f7fc5d69f6e92ec0b38774c387f5cf7812c5806 (patch) | |
tree | 777dbe9452d2baf67ac262a4fa9f01f468965562 /net/sunrpc | |
parent | 39d432fc76301cf0a0c454022117601994ca9397 (diff) | |
download | linux-5f7fc5d69f6e92ec0b38774c387f5cf7812c5806.tar.xz |
SUNRPC: Resupply rq_pages from node-local memory
svc_init_buffer() is careful to allocate the initial set of server
thread buffer pages from memory on the local NUMA node.
svc_alloc_arg() should also be that careful.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'net/sunrpc')
-rw-r--r-- | net/sunrpc/svc_xprt.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c index 42536a0b1db4..9ca3393a197e 100644 --- a/net/sunrpc/svc_xprt.c +++ b/net/sunrpc/svc_xprt.c @@ -685,8 +685,9 @@ static int svc_alloc_arg(struct svc_rqst *rqstp) } for (filled = 0; filled < pages; filled = ret) { - ret = alloc_pages_bulk_array(GFP_KERNEL, pages, - rqstp->rq_pages); + ret = alloc_pages_bulk_array_node(GFP_KERNEL, + rqstp->rq_pool->sp_id, + pages, rqstp->rq_pages); if (ret > filled) /* Made progress, don't sleep yet */ continue; |