[PATCH v2 2/4] hung_task: Replace "did_panic" with in_panic_state()
From: Xiaoming Ni
Date: Sat Dec 19 2020 - 22:46:02 EST
Replace the global variable "did_panic" with in_panic_state()
Signed-off-by: Xiaoming Ni <nixiaoming@xxxxxxxxxx>
---
kernel/hung_task.c | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)
diff --git a/kernel/hung_task.c b/kernel/hung_task.c
index bb2e3e15c84c..2747cd6dd35e 100644
--- a/kernel/hung_task.c
+++ b/kernel/hung_task.c
@@ -50,7 +50,6 @@ unsigned long __read_mostly sysctl_hung_task_check_interval_secs;
int __read_mostly sysctl_hung_task_warnings = 10;
-static int __read_mostly did_panic;
static bool hung_task_show_lock;
static bool hung_task_call_panic;
static bool hung_task_show_all_bt;
@@ -72,18 +71,6 @@ unsigned int __read_mostly sysctl_hung_task_all_cpu_backtrace;
unsigned int __read_mostly sysctl_hung_task_panic =
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE;
-static int
-hung_task_panic(struct notifier_block *this, unsigned long event, void *ptr)
-{
- did_panic = 1;
-
- return NOTIFY_DONE;
-}
-
-static struct notifier_block panic_block = {
- .notifier_call = hung_task_panic,
-};
-
static void check_hung_task(struct task_struct *t, unsigned long timeout)
{
unsigned long switch_count = t->nvcsw + t->nivcsw;
@@ -223,7 +210,7 @@ static void check_hung_uninterruptible_tasks(unsigned long timeout)
* If the system crashed already then all bets are off,
* do not report extra hung tasks:
*/
- if (test_taint(TAINT_DIE) || did_panic)
+ if (test_taint(TAINT_DIE) || unlikely(in_panic_state()))
return;
hung_task_show_lock = false;
@@ -347,8 +334,6 @@ static int watchdog(void *dummy)
static int __init hung_task_init(void)
{
- atomic_notifier_chain_register(&panic_notifier_list, &panic_block);
-
/* Disable hung task detector on suspend */
pm_notifier(hungtask_pm_notify, 0);
--
2.27.0