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
7544 if (!thresh)7544 if (!thresh)
7545 return;7545 return;
7546 7546
7547 rcu_read_lock();
7548
7549 for_each_pool(pool, pi) {7547 for_each_pool(pool, pi) {
7550 unsigned long pool_ts, touched, ts;7548 unsigned long pool_ts, touched, ts;
7551 7549
@@ -7587,8 +7585,6 @@ static void wq_watchdog_timer_fn(struct timer_list *unused) · 35 unmodified lines
7587 7585
7588 }7586 }
7589 7587
7590 rcu_read_unlock();
7591
7592 if (lockup_detected)7588 if (lockup_detected)
7593 show_all_workqueues();7589 show_all_workqueues();
7594 7590