Skip to content

Commit

Permalink
rcu: Inline invoke_rcu_callbacks() into its sole remaining caller
Browse files Browse the repository at this point in the history
This commit saves a few lines of code by inlining invoke_rcu_callbacks()
into its sole remaining caller.

Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
  • Loading branch information
Paul E. McKenney committed May 25, 2019
1 parent 0864f05 commit 43e903a
Showing 1 changed file with 3 additions and 17 deletions.
20 changes: 3 additions & 17 deletions kernel/rcu/tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,6 @@ static void rcu_init_new_rnp(struct rcu_node *rnp_leaf);
static void rcu_cleanup_dead_rnp(struct rcu_node *rnp_leaf);
static void rcu_boost_kthread_setaffinity(struct rcu_node *rnp, int outgoingcpu);
static void invoke_rcu_core(void);
static void invoke_rcu_callbacks(struct rcu_data *rdp);
static void rcu_report_exp_rdp(struct rcu_data *rdp);
static void sync_sched_exp_online_cleanup(int cpu);

Expand Down Expand Up @@ -2296,8 +2295,9 @@ static __latent_entropy void rcu_core(void)
rcu_check_gp_start_stall(rnp, rdp, rcu_jiffies_till_stall_check());

/* If there are callbacks ready, invoke them. */
if (rcu_segcblist_ready_cbs(&rdp->cblist))
invoke_rcu_callbacks(rdp);
if (rcu_segcblist_ready_cbs(&rdp->cblist) &&
likely(READ_ONCE(rcu_scheduler_fully_active)))
rcu_do_batch(rdp);

/* Do any needed deferred wakeups of rcuo kthreads. */
do_nocb_deferred_wakeup(rdp);
Expand Down Expand Up @@ -2332,20 +2332,6 @@ static void invoke_rcu_core_kthread(void)
local_irq_restore(flags);
}

/*
* Do RCU callback invocation. Not that if we are running !use_softirq,
* we are already in the rcuc kthread. If callbacks are offloaded, then
* ->cblist is always empty, so we don't get here. Therefore, we only
* ever need to check for the scheduler being operational (some callbacks
* do wakeups, so we do need the scheduler).
*/
static void invoke_rcu_callbacks(struct rcu_data *rdp)
{
if (unlikely(!READ_ONCE(rcu_scheduler_fully_active)))
return;
rcu_do_batch(rdp);
}

/*
* Wake up this CPU's rcuc kthread to do RCU core processing.
*/
Expand Down

0 comments on commit 43e903a

Please sign in to comment.