This attempts to address some of the criticisms of Tim's original patch back in June: https://lore.kernel.org/linux-mm/d1cc9f12a8ad6c2a52cb600d93b06b064f2bbc57.1593205965.git.tim.c.chen@xxxxxxxxxxxxxxx/ I don't love how messy this is. Better suggestions (dynamic allocation of pagevecs?) welcome. It'd be even better if we could measure contention and resize the LRUvecs on demand. I do intend to add pagevec_alloc() and pagevec_free(), but that's to solve a different problem. Matthew Wilcox (Oracle) (2): pagevec: Allow pagevecs to be different sizes pagevec: Increase the size of LRU pagevecs include/linux/pagevec.h | 25 +++++++++++++++++++++---- mm/swap.c | 23 +++++++++++++++++------ 2 files changed, 38 insertions(+), 10 deletions(-) -- 2.28.0