SUNRPC: don't pause on incomplete allocation
mainline inclusion from mainline-v5.15-rc1 commit e38b3f20 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I7RRY4 CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e38b3f20059426a0adbde014ff71071739ab5226 ------------------------------------------------- alloc_pages_bulk_array() attempts to allocate at least one page based on the provided pages, and then opportunistically allocates more if that can be done without dropping the spinlock. So if it returns fewer than requested, that could just mean that it needed to drop the lock. In that case, try again immediately. Only pause for a time if no progress could be made. Reported-and-tested-by:Mike Javorski <mike.javorski@gmail.com> Reported-and-tested-by:
Lothar Paltins <lopa@mailbox.org> Fixes: f6e70aab ("SUNRPC: refresh rq_pages using a bulk page allocator") Signed-off-by:
NeilBrown <neilb@suse.de> Acked-by:
Mel Gorman <mgorman@suse.com> Signed-off-by:
Chuck Lever <chuck.lever@oracle.com> Signed-off-by:
ZhaoLong Wang <wangzhaolong1@huawei.com> Conflicts: net/sunrpc/svc_xprt.c
Loading
Please sign in to comment