From: Zqiang Date: Thu, 4 Sep 2025 11:31:33 +0000 (+0800) Subject: workqueue: Remove rcu_read_lock/unlock() in wq_watchdog_timer_fn() X-Git-Tag: v6.18-rc1~199^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cda2b2d647f7e467e53655b56ff430732fb1fa17;p=thirdparty%2Fkernel%2Fstable.git workqueue: Remove rcu_read_lock/unlock() in wq_watchdog_timer_fn() The wq_watchdog_timer_fn() is executed in the softirq context, this is already in the RCU read critical section, this commit therefore remove rcu_read_lock/unlock() in wq_watchdog_timer_fn(). Signed-off-by: Zqiang Signed-off-by: Tejun Heo --- diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 831754e900714..63b2685c2cb4f 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -7544,8 +7544,6 @@ static void wq_watchdog_timer_fn(struct timer_list *unused) if (!thresh) return; - rcu_read_lock(); - for_each_pool(pool, pi) { unsigned long pool_ts, touched, ts; @@ -7587,8 +7585,6 @@ static void wq_watchdog_timer_fn(struct timer_list *unused) } - rcu_read_unlock(); - if (lockup_detected) show_all_workqueues();