[PATCH] mm/oom_kill: revert watchdog reset in global OOM process

Chen Ridong
2025-02-12T03:07:58Z

From: Chen Ridong <chenridong@huawei.com>

Unlike memcg OOM, which is relatively common, global OOM events are rare
and typically indicate that the entire system is under severe memory
pressure. The commit ade81479c7dd ("memcg: fix soft lockup in the OOM
process") added the touch_softlockup_watchdog in the global OOM handler to
suppess the soft lockup issues. However, while this change can suppress
soft lockup warnings, it does not address RCU stalls, which can still be
detected and may cause unnecessary disturbances. Simply remove the
modification from the global OOM handler.

Fixes: ade81479c7dd ("memcg: fix soft lockup in the OOM process")
Signed-off-by: Chen Ridong <chenridong@huawei.com>
---
mm/oom_kill.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 25923cfec9c6..2d8b27604ef8 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -44,7 +44,6 @@
#include <linux/init.h>
#include <linux/mmu_notifier.h>
#include <linux/cred.h>
-#include <linux/nmi.h>

#include <asm/tlb.h>
#include "internal.h"
@@ -431,15 +430,10 @@ static void dump_tasks(struct oom_control *oc)
mem_cgroup_scan_tasks(oc->memcg, dump_task, oc);
else {
struct task_struct *p;
- int i = 0;

rcu_read_lock();
- for_each_process(p) {
- /* Avoid potential softlockup warning */
- if ((++i & 1023) == 0)
- touch_softlockup_watchdog();
+ for_each_process(p)
dump_task(p, oc);
- }
rcu_read_unlock();
}
}
--
2.34.1