From: "Paul E. McKenney" <[email protected]> The priority level of the rcuo kthreads is the system administrator's responsibility, but kernels that priority-boost RCU readers probably need the rcuo kthreads running at the rcutree.kthread_prio level. This commit therefore sets these kthreads to that priority level at creation time, providing a sensible default. The system administrator is free to adjust as needed at any time.
Cc: Sebastian Andrzej Siewior <[email protected]> Cc: Scott Wood <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> --- kernel/rcu/tree_plugin.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h index fca31c6..7e33dae0 100644 --- a/kernel/rcu/tree_plugin.h +++ b/kernel/rcu/tree_plugin.h @@ -2197,6 +2197,7 @@ static int rcu_nocb_gp_kthread(void *arg) { struct rcu_data *rdp = arg; + rcu_cpu_kthread_setup(-1); for (;;) { WRITE_ONCE(rdp->nocb_gp_loops, rdp->nocb_gp_loops + 1); nocb_gp_wait(rdp); @@ -2298,6 +2299,7 @@ static int rcu_nocb_cb_kthread(void *arg) // Each pass through this loop does one callback batch, and, // if there are no more ready callbacks, waits for them. + rcu_cpu_kthread_setup(-1); for (;;) { nocb_cb_wait(rdp); cond_resched_tasks_rcu_qs(); -- 2.9.5

