Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3f3f3f2 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

rcu: Abstract default callback-list initialization from init_callback_list()



In preparation for early-boot posting of callbacks, this commit abstracts
initialization of the default (non-no-CB) callbacks list from the
init_callback_list() function into a new init_default_callback_list()
function.

Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent c517d838
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -1328,19 +1328,29 @@ void rcu_cpu_stall_reset(void)
}

/*
 * Initialize the specified rcu_data structure's callback list to empty.
 * Initialize the specified rcu_data structure's default callback list
 * to empty.  The default callback list is the one that is not used by
 * no-callbacks CPUs.
 */
static void init_callback_list(struct rcu_data *rdp)
static void init_default_callback_list(struct rcu_data *rdp)
{
	int i;

	if (init_nocb_callback_list(rdp))
		return;
	rdp->nxtlist = NULL;
	for (i = 0; i < RCU_NEXT_SIZE; i++)
		rdp->nxttail[i] = &rdp->nxtlist;
}

/*
 * Initialize the specified rcu_data structure's callback list to empty.
 */
static void init_callback_list(struct rcu_data *rdp)
{
	if (init_nocb_callback_list(rdp))
		return;
	init_default_callback_list(rdp);
}

/*
 * Determine the value that ->completed will have at the end of the
 * next subsequent grace period.  This is used to tag callbacks so that