[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20230607181221.4118381-1-xqjcool@gmail.com>
Date: Wed, 7 Jun 2023 11:12:21 -0700
From: Qingjie Xing <xqjcool@...il.com>
To: mingo@...hat.com
Cc: peterz@...radead.org, juri.lelli@...hat.com,
vincent.guittot@...aro.org, dietmar.eggemann@....com,
rostedt@...dmis.org, bsegall@...gle.com, mgorman@...e.de,
bristot@...hat.com, vschneid@...hat.com, brauner@...nel.org,
linux-kernel@...r.kernel.org, xqjcool@...il.com
Subject: [PATCH] sched/debug,sched/core: Reset hung task detector while processing sysrq-t
On devices with multiple CPUs and multiple processes, outputting lengthy
sysrq-t content on a slow serial port can consume a significant amount
of time. We need to reset the hung task detector to avoid false hung task
alerts.
Signed-off-by: Qingjie Xing <xqjcool@...il.com>
---
kernel/sched/core.c | 1 +
kernel/sched/debug.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index a68d1276bab0..5773283b752c 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -9176,6 +9176,7 @@ void show_state_filter(unsigned int state_filter)
*/
touch_nmi_watchdog();
touch_all_softlockup_watchdogs();
+ reset_hung_task_detector();
if (state_filter_match(state_filter, p))
sched_show_task(p);
}
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index 0b2340a79b65..43065808b425 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -904,6 +904,7 @@ void sysrq_sched_debug_show(void)
*/
touch_nmi_watchdog();
touch_all_softlockup_watchdogs();
+ reset_hung_task_detector();
print_cpu(NULL, cpu);
}
}
--
2.40.1
Powered by blists - more mailing lists