mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
SUNRPC: Revert 5f7fc5d69f
[ Upstream commit bd018b98ba84ca0c80abac1ef23ce726a809e58c ] Guillaume says: > I believe commit5f7fc5d69f
("SUNRPC: Resupply rq_pages from > node-local memory") in Linux 6.5+ is incorrect. It passes > unconditionally rq_pool->sp_id as the NUMA node. > > While the comment in the svc_pool declaration in sunrpc/svc.h says > that sp_id is also the NUMA node id, it might not be the case if > the svc is created using svc_create_pooled(). svc_created_pooled() > can use the per-cpu pool mode therefore in this case sp_id would > be the cpu id. Fix this by reverting now. At a later point this minor optimization, and the deceptive labeling of the sp_id field, can be revisited. Reported-by: Guillaume Morin <guillaume@morinfr.org> Closes: https://lore.kernel.org/linux-nfs/ZYC9rsno8qYggVt9@bender.morinfr.org/T/#u Fixes:5f7fc5d69f
("SUNRPC: Resupply rq_pages from node-local memory") Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
dd691e300d
commit
f685ef2c9a
1 changed files with 2 additions and 3 deletions
|
@ -666,9 +666,8 @@ static bool svc_alloc_arg(struct svc_rqst *rqstp)
|
||||||
}
|
}
|
||||||
|
|
||||||
for (filled = 0; filled < pages; filled = ret) {
|
for (filled = 0; filled < pages; filled = ret) {
|
||||||
ret = alloc_pages_bulk_array_node(GFP_KERNEL,
|
ret = alloc_pages_bulk_array(GFP_KERNEL, pages,
|
||||||
rqstp->rq_pool->sp_id,
|
rqstp->rq_pages);
|
||||||
pages, rqstp->rq_pages);
|
|
||||||
if (ret > filled)
|
if (ret > filled)
|
||||||
/* Made progress, don't sleep yet */
|
/* Made progress, don't sleep yet */
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue