Re: [PATCH 0/3] mm/mglru: clean up isolate_folios and scan_folios for readability and clarity
Baolin Wang <[email protected]>
| Newsgroups | org.kvack.linux-mm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 8/20/26 12:56 PM, Barry Song (Xiaomi) wrote: > This is a cleanup series split out from the MGLRU swappiness series [1], > with the cleanup changes separated to make them easier to review. > > Right now, isolate_folios() is quite difficult to follow: > > 1. It uses for_each_evictable_type(i, swappiness) to iterate over the > types, but i is not actually used as the type within the loop body. > > 2. It uses scanned == 0 to detect whether the current reclaim type is > exhausted, but this is not an accurate indication. > > 3. It has an internal retry when no folios can be isolated after scanning > some folios, but the retry is implemented in a way nobody can understand. > > This patchset makes these behaviors explicit and much easier to follow. > > Run kernel builds for several rounds in a 1 GB memcg and take the > average build time. The patchset shows almost no performance impact, > with a very small improvement that could simply be noise: Just FYI: I tested this patchset with a 3G memcg limit and a 10G zram device, running 'make -j32' to build kernel on my 32-core Arm machines, and got some performance improvement for ths sys time: w/o patch w/patch sys 1845s 1570s > w/o patch w/patch Delta > > real 109.149 108.990 -0.15% > sys 223.213 222.592 -0.28% > > pgscan_file 498,208 486,994 -2.25% > refault_file 262,696 254,688 -3.05% > > Thanks very much to Baolin and Lian for their previous reviews of the > original RFC patchset for this part. > > [1] https://lore.kernel.org/linux-mm/[email protected]/ > > Barry Song (Xiaomi) (2): > mm/mglru: improve scan_folios() exhaustion detection > mm/mglru: retry the same type once if isolation fails due to races > > Ridong Chen (1): > mm/mglru: improve readability of isolate_folios() > > mm/vmscan.c | 78 ++++++++++++++++++++++++++++++++++++----------------- > 1 file changed, 54 insertions(+), 24 deletions(-) >