diff options
author | NeilBrown <[email protected]> | 2021-08-30 08:36:34 +1000 |
---|---|---|
committer | Chuck Lever <[email protected]> | 2021-09-01 11:05:07 -0400 |
commit | e38b3f20059426a0adbde014ff71071739ab5226 (patch) | |
tree | 2df72c4a0c12be47a27ed11f22621d68eaee435b /lib/test_overflow.c | |
parent | 0bcc7ca40bd823193224e9f38bafbd8325aaf566 (diff) |
SUNRPC: don't pause on incomplete allocation
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 <[email protected]>
Reported-and-tested-by: Lothar Paltins <[email protected]>
Fixes: f6e70aab9dfe ("SUNRPC: refresh rq_pages using a bulk page allocator")
Signed-off-by: NeilBrown <[email protected]>
Acked-by: Mel Gorman <[email protected]>
Signed-off-by: Chuck Lever <[email protected]>
Diffstat (limited to 'lib/test_overflow.c')
0 files changed, 0 insertions, 0 deletions