[PATCH v4 7/7] mm: use VMA flag helpers in NUMA balancing

From: Gregory Price

Date: Wed Sep 30 2026 - 07:24:06 EST


From: "Gregory Price (Meta)" <gourry@xxxxxxxxxx>

Use vma_test() instead of accessing vm_flags directly in the NUMA
balancing code touched by the preceding fixes. Keep the existing flag
predicates unchanged.

No functional change intended.

Suggested-by: Lorenzo Stoakes <ljs@xxxxxxxxxx>
Link: https://lore.kernel.org/r/aq1FDhy00epXXtgd@gremlin
Assisted-by: LLM
Signed-off-by: Gregory Price (Meta) <gourry@xxxxxxxxxx>
---
kernel/sched/fair.c | 2 +-
mm/internal.h | 2 +-
mm/migrate.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 6002882b9d30..448c36791d33 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -4234,7 +4234,7 @@ static void task_numa_work(struct callback_head *work)
*/
placement_scan = balancing;
if (placement_scan && vma->vm_file) {
- if ((vma->vm_flags & (VM_READ | VM_WRITE)) == VM_READ)
+ if (vma_test(vma, VMA_READ_BIT) && !vma_test(vma, VMA_WRITE_BIT))
placement_scan = false;
}

diff --git a/mm/internal.h b/mm/internal.h
index cbeaf1fc38cf..560406c36a75 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -1240,7 +1240,7 @@ size_t splice_folio_into_pipe(struct pipe_inode_info *pipe,

static inline bool vma_is_single_threaded_private(struct vm_area_struct *vma)
{
- if (vma->vm_flags & VM_SHARED)
+ if (vma_test(vma, VMA_SHARED_BIT))
return false;

return atomic_read(&vma->vm_mm->mm_users) == 1;
diff --git a/mm/migrate.c b/mm/migrate.c
index c0f5f3ac71fc..fb4099f245a0 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -2705,7 +2705,7 @@ int migrate_misplaced_folio_prepare(struct folio *folio,
* See folio_maybe_mapped_shared() on possible imprecision
* when we cannot easily detect if a folio is shared.
*/
- if ((vma->vm_flags & VM_EXEC) && folio_maybe_mapped_shared(folio) &&
+ if (vma_test(vma, VMA_EXEC_BIT) && folio_maybe_mapped_shared(folio) &&
(!folio_numab_promotable(folio) || !node_is_toptier(node)))
return -EACCES;

--
2.55.0