diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index f06a4bf58b25..174261a3c193 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -2490,12 +2490,13 @@ int rcutree_dead_cpu(unsigned int cpu) * Invoke any RCU callbacks that have made it to the end of their grace * period. Thottle as specified by rdp->blimit. */ -static void rcu_do_batch(struct rcu_state *rsp, struct rcu_data *rdp) +static void rcu_do_batch(struct rcu_data *rdp) { unsigned long flags; struct rcu_head *rhp; struct rcu_cblist rcl = RCU_CBLIST_INITIALIZER(rcl); long bl, count; + struct rcu_state *rsp = &rcu_state; /* If no callbacks are ready, just return. */ if (!rcu_segcblist_ready_cbs(&rdp->cblist)) { @@ -2808,7 +2809,7 @@ static void invoke_rcu_callbacks(struct rcu_data *rdp) if (unlikely(!READ_ONCE(rcu_scheduler_fully_active))) return; if (likely(!rsp->boost)) { - rcu_do_batch(rsp, rdp); + rcu_do_batch(rdp); return; } invoke_rcu_callbacks_kthread(); diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h index 82f10a6bf266..c678c76a754e 100644 --- a/kernel/rcu/tree_plugin.h +++ b/kernel/rcu/tree_plugin.h @@ -1324,7 +1324,7 @@ static int rcu_spawn_one_boost_kthread(struct rcu_state *rsp, static void rcu_kthread_do_work(void) { - rcu_do_batch(&rcu_state, this_cpu_ptr(&rcu_data)); + rcu_do_batch(this_cpu_ptr(&rcu_data)); } static void rcu_cpu_kthread_setup(unsigned int cpu)