/* Called with preemption disabled, and from cross-cpu IRQ context.  */
static void rcu_barrier_func(void *type)
/* Called with preemption disabled, and from cross-cpu IRQ context.  */
static void rcu_barrier_func(void *type)
{
	int cpu = smp_processor_id();
	struct rcu_head *head = &per_cpu(rcu_barrier_head, cpu);
	void (*call_rcu_func)(struct rcu_head *head,
			      void (*func)(struct rcu_head *head));
	atomic_inc(&rcu_barrier_cpu_count);
	call_rcu_func = type;
	call_rcu_func(head, rcu_barrier_callback);
}