mirror of https://gitee.com/openkylin/linux.git
rcu: Remove #ifdef CONFIG_SMP from TREE_RCU
Now that both TINY_RCU and TINY_PREEMPT_RCU have been in place for awhile, it is time to remove UP support from TREE_RCU, which is what this commit does. Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
parent
5e1ee6e101
commit
27565d64a4
|
@ -301,8 +301,6 @@ static struct rcu_node *rcu_get_root(struct rcu_state *rsp)
|
|||
return &rsp->node[0];
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
|
||||
/*
|
||||
* If the specified CPU is offline, tell the caller that it is in
|
||||
* a quiescent state. Otherwise, whack it with a reschedule IPI.
|
||||
|
@ -339,8 +337,6 @@ static int rcu_implicit_offline_qs(struct rcu_data *rdp)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#endif /* #ifdef CONFIG_SMP */
|
||||
|
||||
/*
|
||||
* rcu_idle_enter_common - inform RCU that current CPU is moving towards idle
|
||||
*
|
||||
|
@ -606,8 +602,6 @@ int rcu_is_cpu_rrupt_from_idle(void)
|
|||
return __get_cpu_var(rcu_dynticks).dynticks_nesting <= 1;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
|
||||
/*
|
||||
* Snapshot the specified CPU's dynticks counter so that we can later
|
||||
* credit them with an implicit quiescent state. Return 1 if this CPU
|
||||
|
@ -651,8 +645,6 @@ static int rcu_implicit_dynticks_qs(struct rcu_data *rdp)
|
|||
return rcu_implicit_offline_qs(rdp);
|
||||
}
|
||||
|
||||
#endif /* #ifdef CONFIG_SMP */
|
||||
|
||||
static void record_gp_stall_check_time(struct rcu_state *rsp)
|
||||
{
|
||||
rsp->gp_start = jiffies;
|
||||
|
@ -1517,8 +1509,6 @@ void rcu_check_callbacks(int cpu, int user)
|
|||
trace_rcu_utilization("End scheduler-tick");
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
|
||||
/*
|
||||
* Scan the leaf rcu_node structures, processing dyntick state for any that
|
||||
* have not yet encountered a quiescent state, using the function specified.
|
||||
|
@ -1641,15 +1631,6 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed)
|
|||
trace_rcu_utilization("End fqs");
|
||||
}
|
||||
|
||||
#else /* #ifdef CONFIG_SMP */
|
||||
|
||||
static void force_quiescent_state(struct rcu_state *rsp, int relaxed)
|
||||
{
|
||||
set_need_resched();
|
||||
}
|
||||
|
||||
#endif /* #else #ifdef CONFIG_SMP */
|
||||
|
||||
/*
|
||||
* This does the RCU core processing work for the specified rcu_state
|
||||
* and rcu_data structures. This may be called only from the CPU to
|
||||
|
|
|
@ -1858,16 +1858,6 @@ static void __cpuinit rcu_prepare_kthreads(int cpu)
|
|||
|
||||
#endif /* #else #ifdef CONFIG_RCU_BOOST */
|
||||
|
||||
#ifndef CONFIG_SMP
|
||||
|
||||
void synchronize_sched_expedited(void)
|
||||
{
|
||||
cond_resched();
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(synchronize_sched_expedited);
|
||||
|
||||
#else /* #ifndef CONFIG_SMP */
|
||||
|
||||
static atomic_t sync_sched_expedited_started = ATOMIC_INIT(0);
|
||||
static atomic_t sync_sched_expedited_done = ATOMIC_INIT(0);
|
||||
|
||||
|
@ -1982,8 +1972,6 @@ void synchronize_sched_expedited(void)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(synchronize_sched_expedited);
|
||||
|
||||
#endif /* #else #ifndef CONFIG_SMP */
|
||||
|
||||
#if !defined(CONFIG_RCU_FAST_NO_HZ)
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue