]> Git Repo - linux.git/commit
mm: vmscan: avoid split during shrink_folio_list()
authorRyan Roberts <[email protected]>
Mon, 8 Apr 2024 18:39:45 +0000 (19:39 +0100)
committerAndrew Morton <[email protected]>
Fri, 26 Apr 2024 03:56:38 +0000 (20:56 -0700)
commit5ed890ce5147855c5360affd5e5419ed68a54100
tree9da0c5f1e62e1ab420e2a92ab5026f6ca3cbba01
parent845982eb264bc64b0c3242ace217fb574f56a299
mm: vmscan: avoid split during shrink_folio_list()

Now that swap supports storing all mTHP sizes, avoid splitting large
folios before swap-out.  This benefits performance of the swap-out path by
eliding split_folio_to_list(), which is expensive, and also sets us up for
swapping in large folios in a future series.

If the folio is partially mapped, we continue to split it since we want to
avoid the extra IO overhead and storage of writing out pages
uneccessarily.

THP_SWPOUT and THP_SWPOUT_FALLBACK counters should continue to count
events only for PMD-mappable folios to avoid user confusion.  THP_SWPOUT
already has the appropriate guard.  Add a guard for THP_SWPOUT_FALLBACK.
It may be appropriate to add per-size counters in future.

Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Ryan Roberts <[email protected]>
Reviewed-by: David Hildenbrand <[email protected]>
Reviewed-by: Barry Song <[email protected]>
Cc: Barry Song <[email protected]>
Cc: Chris Li <[email protected]>
Cc: Gao Xiang <[email protected]>
Cc: "Huang, Ying" <[email protected]>
Cc: Kefeng Wang <[email protected]>
Cc: Lance Yang <[email protected]>
Cc: Matthew Wilcox (Oracle) <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Yang Shi <[email protected]>
Cc: Yu Zhao <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
mm/vmscan.c
This page took 0.054622 seconds and 4 git commands to generate.