Files
linux/kernel
Frederic Weisbecker 5c83cedbaa rcu/nocb: Protect lazy shrinker against concurrent (de-)offloading
The shrinker may run concurrently with callbacks (de-)offloading. As
such, calling rcu_nocb_lock() is very dangerous because it does a
conditional locking. The worst outcome is that rcu_nocb_lock() doesn't
lock but rcu_nocb_unlock() eventually unlocks, or the reverse, creating
an imbalance.

Fix this with protecting against (de-)offloading using the barrier mutex.
Although if the barrier mutex is contended, which should be rare, then
step aside so as not to trigger a mutex VS allocation
dependency chain.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-05-09 17:26:58 -07:00
..
2022-12-02 11:25:00 +01:00
2022-12-21 14:31:52 -08:00
2022-08-29 19:47:03 -04:00
2022-09-26 10:13:13 -07:00
2023-03-24 11:01:29 +01:00
2023-04-20 22:55:35 -04:00
2023-04-03 11:16:56 +02:00