v4
2026-09-30
解除VMA过滤对内存层级提升的阻断 · v4
调整 sched/numa VMA 扫描过滤,避免其阻碍内存分层提升,支持只提升的 NUMA hinting 扫描。
原始补丁链接
子 Patch(7)
1/7
mm: support promotion-only NUMA hinting scans
From: “Gregory Price (Meta)” gourry@gourry.net folio_can_map_prot_numa() derives folio eligibility from the global balancing mode. The mode (normal, tiering, or combined) describes which balancing
2/7
mm: allow shared folios to be promoted to a fast tier
From: “Gregory Price (Meta)” gourry@gourry.net NUMA balancing rejects shared copy-on-write folios and executable file folios mapped by multiple processes to avoid east-west migration bouncing. Thes
3/7
sched/numa: scan read-only file mappings in tiering mode
From: “Gregory Price (Meta)” gourry@gourry.net Commit 4591ce4f2d22 (“sched/numa: Do not trap hinting faults for shared libraries”) excludes file-backed read-only VMAs from NUMA hint faulting to pre
4/7
sched/numa: separate VMA placement from scan continuation
From: “Gregory Price (Meta)” gourry@gourry.net vma_is_accessed() returns true both when a VMA needs placement (east-west) sampling and when a VMA is already mid-scan across multiple scan windows.
5/7
sched/numa: scan PID-inactive VMAs for promotion
From: “Gregory Price (Meta)” gourry@gourry.net Commit fc137c0ddab2 (“sched/numa: enhance vma scanning logic”) skips VMAs without recent PID activity. Since only NUMA hint faults record that activit
6/7
mm: use BIT() for change_protection() flags
From: “Gregory Price (Meta)” gourry@gourry.net The MM_CP_* flags are individual bits expressed as open-coded shifts. Use BIT() consistently for the complete block. No functional change intended.
7/7
mm: use VMA flag helpers in NUMA balancing
From: “Gregory Price (Meta)” gourry@gourry.net Use vma_test() instead of accessing vm_flags directly in the NUMA balancing code touched by the preceding fixes. Keep the existing flag predicates unc