* [PATCH] mm: nommu: set MMF_OOM_SKIP in exit_mmap()
@ 2026-10-13 22:56 Alexis Bouzigues via B4 Relay
2026-10-14 7:50 ` Michal Hocko
0 siblings, 1 reply; 2+ messages in thread
From: Alexis Bouzigues via B4 Relay @ 2026-10-13 22:56 UTC (permalink / raw)
To: Andrew Morton
Cc: Michal Hocko, Liam R. Howlett, Lorenzo Stoakes, linux-mm,
linux-kernel, Alexis Bouzigues
From: Alexis Bouzigues <BouziguesAlexis@JohnDeere.com>
Commit 212925802454 ("mm: oom: let oom_reap_task and exit_mmap run
concurrently") moved setting MMF_OOM_SKIP from __mmput() into the MMU
exit_mmap(), so it is no longer set when a NOMMU mm is torn down.
As a result, a NOMMU OOM victim that has exited and freed its memory
keeps the OOM killer from selecting another victim until it is reaped.
Set MMF_OOM_SKIP in the NOMMU exit_mmap() once the VMAs are freed, as
the MMU version does.
Fixes: 212925802454 ("mm: oom: let oom_reap_task and exit_mmap run concurrently")
Assisted-by: LLM
Signed-off-by: Alexis Bouzigues <BouziguesAlexis@JohnDeere.com>
---
Restore MMF_OOM_SKIP on NOMMU mm teardown, which was lost when it moved
into the MMU-only exit_mmap().
---
mm/nommu.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/mm/nommu.c b/mm/nommu.c
index 498e01ee40b0..913b2a1b5b3b 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -1555,6 +1555,7 @@ void exit_mmap(struct mm_struct *mm)
delete_vma(mm, vma);
cond_resched();
}
+ mm_flags_set(MMF_OOM_SKIP, mm);
__mt_destroy(&mm->mm_mt);
mmap_write_unlock(mm);
}
---
base-commit: 24a19b953e2a3d0ea5a8c4951a0ab8f32720c907
change-id: 20261013-fix-nommu-exit-mmap-oom-skip-b8e68bf34b6d
Best regards,
--
Alexis Bouzigues <BouziguesAlexis@JohnDeere.com>
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] mm: nommu: set MMF_OOM_SKIP in exit_mmap()
2026-10-13 22:56 [PATCH] mm: nommu: set MMF_OOM_SKIP in exit_mmap() Alexis Bouzigues via B4 Relay
@ 2026-10-14 7:50 ` Michal Hocko
0 siblings, 0 replies; 2+ messages in thread
From: Michal Hocko @ 2026-10-14 7:50 UTC (permalink / raw)
To: BouziguesAlexis
Cc: Andrew Morton, Liam R. Howlett, Lorenzo Stoakes, linux-mm,
linux-kernel
On Tue 13-10-26 17:56:19, Alexis Bouzigues via B4 Relay wrote:
> From: Alexis Bouzigues <BouziguesAlexis@JohnDeere.com>
>
> Commit 212925802454 ("mm: oom: let oom_reap_task and exit_mmap run
> concurrently") moved setting MMF_OOM_SKIP from __mmput() into the MMU
> exit_mmap(), so it is no longer set when a NOMMU mm is torn down.
>
> As a result, a NOMMU OOM victim that has exited and freed its memory
> keeps the OOM killer from selecting another victim until it is reaped.
>
> Set MMF_OOM_SKIP in the NOMMU exit_mmap() once the VMAs are freed, as
> the MMU version does.
Is this a real problem that you can actually hit?
> Fixes: 212925802454 ("mm: oom: let oom_reap_task and exit_mmap run concurrently")
> Assisted-by: LLM
> Signed-off-by: Alexis Bouzigues <BouziguesAlexis@JohnDeere.com>
> ---
> Restore MMF_OOM_SKIP on NOMMU mm teardown, which was lost when it moved
> into the MMU-only exit_mmap().
> ---
> mm/nommu.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/mm/nommu.c b/mm/nommu.c
> index 498e01ee40b0..913b2a1b5b3b 100644
> --- a/mm/nommu.c
> +++ b/mm/nommu.c
> @@ -1555,6 +1555,7 @@ void exit_mmap(struct mm_struct *mm)
> delete_vma(mm, vma);
> cond_resched();
> }
> + mm_flags_set(MMF_OOM_SKIP, mm);
> __mt_destroy(&mm->mm_mt);
> mmap_write_unlock(mm);
> }
>
> ---
> base-commit: 24a19b953e2a3d0ea5a8c4951a0ab8f32720c907
> change-id: 20261013-fix-nommu-exit-mmap-oom-skip-b8e68bf34b6d
>
> Best regards,
> --
> Alexis Bouzigues <BouziguesAlexis@JohnDeere.com>
>
>
--
Michal Hocko
SUSE Labs
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-14 7:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-13 22:56 [PATCH] mm: nommu: set MMF_OOM_SKIP in exit_mmap() Alexis Bouzigues via B4 Relay
2026-10-14 7:50 ` Michal Hocko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox