rcu: Eliminate the unused __rcu_is_watching() function
The __rcu_is_watching() function is currently not used, aside from to implement the rcu_is_watching() function. This commit therefore eliminates __rcu_is_watching(), which has the beneficial side-effect of shrinking include/linux/rcupdate.h a bit. Reported-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
Родитель
d0df7a3491
Коммит
791875d16e
|
@ -204,10 +204,6 @@ do { \
|
||||||
rcu_note_voluntary_context_switch(current); \
|
rcu_note_voluntary_context_switch(current); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_RCU_TRACE) || defined(CONFIG_SMP)
|
|
||||||
bool __rcu_is_watching(void);
|
|
||||||
#endif /* #if defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_RCU_TRACE) || defined(CONFIG_SMP) */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Infrastructure to implement the synchronize_() primitives in
|
* Infrastructure to implement the synchronize_() primitives in
|
||||||
* TREE_RCU and rcu_barrier_() primitives in TINY_RCU.
|
* TREE_RCU and rcu_barrier_() primitives in TINY_RCU.
|
||||||
|
|
|
@ -232,22 +232,11 @@ static inline void rcu_scheduler_starting(void)
|
||||||
}
|
}
|
||||||
#endif /* #else #if defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_SRCU) */
|
#endif /* #else #if defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_SRCU) */
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_RCU_TRACE)
|
|
||||||
|
|
||||||
static inline bool rcu_is_watching(void)
|
|
||||||
{
|
|
||||||
return __rcu_is_watching();
|
|
||||||
}
|
|
||||||
|
|
||||||
#else /* defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_RCU_TRACE) */
|
|
||||||
|
|
||||||
static inline bool rcu_is_watching(void)
|
static inline bool rcu_is_watching(void)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* #else defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_RCU_TRACE) */
|
|
||||||
|
|
||||||
static inline void rcu_request_urgent_qs_task(struct task_struct *t)
|
static inline void rcu_request_urgent_qs_task(struct task_struct *t)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,19 +59,6 @@ void rcu_barrier_sched(void)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(rcu_barrier_sched);
|
EXPORT_SYMBOL(rcu_barrier_sched);
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_RCU_TRACE)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Test whether RCU thinks that the current CPU is idle.
|
|
||||||
*/
|
|
||||||
bool notrace __rcu_is_watching(void)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(__rcu_is_watching);
|
|
||||||
|
|
||||||
#endif /* defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_RCU_TRACE) */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Helper function for rcu_sched_qs() and rcu_bh_qs().
|
* Helper function for rcu_sched_qs() and rcu_bh_qs().
|
||||||
* Also irqs are disabled to avoid confusion due to interrupt handlers
|
* Also irqs are disabled to avoid confusion due to interrupt handlers
|
||||||
|
|
|
@ -1138,23 +1138,12 @@ void rcu_nmi_exit(void)
|
||||||
rcu_dynticks_eqs_enter();
|
rcu_dynticks_eqs_enter();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* __rcu_is_watching - are RCU read-side critical sections safe?
|
|
||||||
*
|
|
||||||
* Return true if RCU is watching the running CPU, which means that
|
|
||||||
* this CPU can safely enter RCU read-side critical sections. Unlike
|
|
||||||
* rcu_is_watching(), the caller of __rcu_is_watching() must have at
|
|
||||||
* least disabled preemption.
|
|
||||||
*/
|
|
||||||
bool notrace __rcu_is_watching(void)
|
|
||||||
{
|
|
||||||
return !rcu_dynticks_curr_cpu_in_eqs();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* rcu_is_watching - see if RCU thinks that the current CPU is idle
|
* rcu_is_watching - see if RCU thinks that the current CPU is idle
|
||||||
*
|
*
|
||||||
* If the current CPU is in its idle loop and is neither in an interrupt
|
* Return true if RCU is watching the running CPU, which means that this
|
||||||
|
* CPU can safely enter RCU read-side critical sections. In other words,
|
||||||
|
* if the current CPU is in its idle loop and is neither in an interrupt
|
||||||
* or NMI handler, return true.
|
* or NMI handler, return true.
|
||||||
*/
|
*/
|
||||||
bool notrace rcu_is_watching(void)
|
bool notrace rcu_is_watching(void)
|
||||||
|
@ -1162,7 +1151,7 @@ bool notrace rcu_is_watching(void)
|
||||||
bool ret;
|
bool ret;
|
||||||
|
|
||||||
preempt_disable_notrace();
|
preempt_disable_notrace();
|
||||||
ret = __rcu_is_watching();
|
ret = !rcu_dynticks_curr_cpu_in_eqs();
|
||||||
preempt_enable_notrace();
|
preempt_enable_notrace();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче