History

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().

Zqiang committed 1 year ago

Commit cda2b2d1 parent fd5081f1 file · +0 −4Browse files

Showing the changes to kernel/workqueue.c (1 of 1 file). Show all

Unified · Split

kernel/workqueue.c+0−4
@@ -7544,8 +7544,6 @@ static void wq_watchdog_timer_fn(struct timer_list *unused) · 7543 unmodified lines
75447544 if (!thresh)
75457545 return;
75467546
7547− rcu_read_lock();
7548−
75497547 for_each_pool(pool, pi) {
75507548 unsigned long pool_ts, touched, ts;
75517549
@@ -7587,8 +7585,6 @@ static void wq_watchdog_timer_fn(struct timer_list *unused) · 35 unmodified lines
75877585
75887586 }
75897587
7590− rcu_read_unlock();
7591−
75927588 if (lockup_detected)
75937589 show_all_workqueues();
75947590