mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 20:24:12 +08:00
rcu: Delete unused rcu_gp_might_be_stalled() function
The rcu_gp_might_be_stalled() function is no longer used, so this commit removes it. Signed-off-by: Paul E. McKenney <paulmck@kernel.org> Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
This commit is contained in:
parent
f7345ccc62
commit
26ff1fb029
@ -165,7 +165,6 @@ static inline bool rcu_inkernel_boot_has_ended(void) { return true; }
|
|||||||
static inline bool rcu_is_watching(void) { return true; }
|
static inline bool rcu_is_watching(void) { return true; }
|
||||||
static inline void rcu_momentary_eqs(void) { }
|
static inline void rcu_momentary_eqs(void) { }
|
||||||
static inline void kfree_rcu_scheduler_running(void) { }
|
static inline void kfree_rcu_scheduler_running(void) { }
|
||||||
static inline bool rcu_gp_might_be_stalled(void) { return false; }
|
|
||||||
|
|
||||||
/* Avoid RCU read-side critical sections leaking across. */
|
/* Avoid RCU read-side critical sections leaking across. */
|
||||||
static inline void rcu_all_qs(void) { barrier(); }
|
static inline void rcu_all_qs(void) { barrier(); }
|
||||||
|
@ -40,7 +40,6 @@ void kvfree_rcu_barrier(void);
|
|||||||
void rcu_barrier(void);
|
void rcu_barrier(void);
|
||||||
void rcu_momentary_eqs(void);
|
void rcu_momentary_eqs(void);
|
||||||
void kfree_rcu_scheduler_running(void);
|
void kfree_rcu_scheduler_running(void);
|
||||||
bool rcu_gp_might_be_stalled(void);
|
|
||||||
|
|
||||||
struct rcu_gp_oldstate {
|
struct rcu_gp_oldstate {
|
||||||
unsigned long rgos_norm;
|
unsigned long rgos_norm;
|
||||||
|
@ -76,36 +76,6 @@ int rcu_jiffies_till_stall_check(void)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(rcu_jiffies_till_stall_check);
|
EXPORT_SYMBOL_GPL(rcu_jiffies_till_stall_check);
|
||||||
|
|
||||||
/**
|
|
||||||
* rcu_gp_might_be_stalled - Is it likely that the grace period is stalled?
|
|
||||||
*
|
|
||||||
* Returns @true if the current grace period is sufficiently old that
|
|
||||||
* it is reasonable to assume that it might be stalled. This can be
|
|
||||||
* useful when deciding whether to allocate memory to enable RCU-mediated
|
|
||||||
* freeing on the one hand or just invoking synchronize_rcu() on the other.
|
|
||||||
* The latter is preferable when the grace period is stalled.
|
|
||||||
*
|
|
||||||
* Note that sampling of the .gp_start and .gp_seq fields must be done
|
|
||||||
* carefully to avoid false positives at the beginnings and ends of
|
|
||||||
* grace periods.
|
|
||||||
*/
|
|
||||||
bool rcu_gp_might_be_stalled(void)
|
|
||||||
{
|
|
||||||
unsigned long d = rcu_jiffies_till_stall_check() / RCU_STALL_MIGHT_DIV;
|
|
||||||
unsigned long j = jiffies;
|
|
||||||
|
|
||||||
if (d < RCU_STALL_MIGHT_MIN)
|
|
||||||
d = RCU_STALL_MIGHT_MIN;
|
|
||||||
smp_mb(); // jiffies before .gp_seq to avoid false positives.
|
|
||||||
if (!rcu_gp_in_progress())
|
|
||||||
return false;
|
|
||||||
// Long delays at this point avoids false positive, but a delay
|
|
||||||
// of ULONG_MAX/4 jiffies voids your no-false-positive warranty.
|
|
||||||
smp_mb(); // .gp_seq before second .gp_start
|
|
||||||
// And ditto here.
|
|
||||||
return !time_before(j, READ_ONCE(rcu_state.gp_start) + d);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Don't do RCU CPU stall warnings during long sysrq printouts. */
|
/* Don't do RCU CPU stall warnings during long sysrq printouts. */
|
||||||
void rcu_sysrq_start(void)
|
void rcu_sysrq_start(void)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user