This idea was tried on per memcg lru lock patchset v18, and had a good result, about 5%~20+% performance gain on lru lock busy benchmarks, like case-lru-file-readtwice.
But on the latest kernel, I can not reproduce the result on my box. Also I can not reproduce Tim's performance gain too on my box. So I don't know if it's workable in some scenario, just sent out if someone has interesting... Alex Shi (4): mm/swap.c: pre-sort pages in pagevec for pagevec_lru_move_fn mm/swap.c: bail out early for no memcg and no numa mm/swap.c: extend the usage to pagevec_lru_add mm/swap.c: no sort if all page's lruvec are same Cc: Konstantin Khlebnikov <[email protected]> Cc: Hugh Dickins <[email protected]> Cc: Yu Zhao <[email protected]> Cc: Michal Hocko <[email protected]> Cc: Matthew Wilcox (Oracle) <[email protected]> Cc: Andrew Morton <[email protected]> Cc: [email protected] Cc: [email protected] mm/swap.c | 118 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 91 insertions(+), 27 deletions(-) -- 2.29.GIT

