From: Zi Yan <ziy@xxxxxxxxxx>
Hi all,
This patchset enables >0 order folio memory compaction, which is one of
the prerequisitions for large folio support[1]. It includes the fix[4] for
V2 and is on top of mm-everything-2024-01-29-07-19.
I am aware of that split free pages is necessary for folio
migration in compaction, since if >0 order free pages are never split
and no order-0 free page is scanned, compaction will end prematurely due
to migration returns -ENOMEM. Free page split becomes a must instead of
an optimization.
lkp ncompare results for default LRU (-no-mglru) and CONFIG_LRU_GEN are
shown at the bottom (on a 8-CPU (Intel Xeon E5-2650 v4 @ 2.20GHz) 16G VM).
In sum, most of vm-scalability applications do not see performance change,
and the others see ~4% to ~26% performance boost under default LRU and
~2% to ~6% performance boost under CONFIG_LRU_GEN.