summaryrefslogtreecommitdiffstats
path: root/lib/math
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2022-03-04 12:07:25 +0100
committerPaul E. McKenney <paulmck@kernel.org>2022-04-11 17:06:42 -0700
commit88db792bbe9b140680c74e9f2f801ac00f54e05e (patch)
tree7b98245426889cc6ab7aa2e6b1c4132c0b13f74c /lib/math
parentf25390033fa2445cdc4d6cf8243a9b85d942845f (diff)
downloadlinux-88db792bbe9b140680c74e9f2f801ac00f54e05e.tar.gz
linux-88db792bbe9b140680c74e9f2f801ac00f54e05e.tar.bz2
linux-88db792bbe9b140680c74e9f2f801ac00f54e05e.zip
rcu-tasks: Use rcuwait for the rcu_tasks_kthread()
The waitqueue used by rcu_tasks_kthread() has always only one waiter. With a guaranteed only one waiter, this can be replaced with rcuwait which is smaller and simpler. With rcuwait based wake counterpart, the irqwork function (call_rcu_tasks_iw_wakeup()) can be invoked hardirq context because it is only a wake up and no sleeping locks are involved (unlike the wait_queue_head). As a side effect, this is also one piece of the puzzle to pass the RCU selftest at early boot on PREEMPT_RT. Replace wait_queue_head with rcuwait and let the irqwork run in hardirq context on PREEMPT_RT. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'lib/math')
0 files changed, 0 insertions, 0 deletions