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

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

rcutorture: Expedited-GP batch progress access to torturing



This commit provides rcu_exp_batches_completed() and
rcu_exp_batches_completed_sched() functions to allow torture-test modules
to check how many expedited grace period batches have completed.
These are analogous to the existing rcu_batches_completed(),
rcu_batches_completed_bh(), and rcu_batches_completed_sched() functions.

Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent 9efafb88
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -149,6 +149,22 @@ static inline unsigned long rcu_batches_completed_sched(void)
	return 0;
}

/*
 * Return the number of expedited grace periods completed.
 */
static inline unsigned long rcu_exp_batches_completed(void)
{
	return 0;
}

/*
 * Return the number of expedited sched grace periods completed.
 */
static inline unsigned long rcu_exp_batches_completed_sched(void)
{
	return 0;
}

static inline void rcu_force_quiescent_state(void)
{
}
+2 −0
Original line number Diff line number Diff line
@@ -87,6 +87,8 @@ unsigned long rcu_batches_started_sched(void);
unsigned long rcu_batches_completed(void);
unsigned long rcu_batches_completed_bh(void);
unsigned long rcu_batches_completed_sched(void);
unsigned long rcu_exp_batches_completed(void);
unsigned long rcu_exp_batches_completed_sched(void);
void show_rcu_gp_kthreads(void);

void rcu_force_quiescent_state(void);
+22 −0
Original line number Diff line number Diff line
@@ -459,6 +459,28 @@ unsigned long rcu_batches_completed_bh(void)
}
EXPORT_SYMBOL_GPL(rcu_batches_completed_bh);

/*
 * Return the number of RCU expedited batches completed thus far for
 * debug & stats.  Odd numbers mean that a batch is in progress, even
 * numbers mean idle.  The value returned will thus be roughly double
 * the cumulative batches since boot.
 */
unsigned long rcu_exp_batches_completed(void)
{
	return rcu_state_p->expedited_sequence;
}
EXPORT_SYMBOL_GPL(rcu_exp_batches_completed);

/*
 * Return the number of RCU-sched expedited batches completed thus far
 * for debug & stats.  Similar to rcu_exp_batches_completed().
 */
unsigned long rcu_exp_batches_completed_sched(void)
{
	return rcu_sched_state.expedited_sequence;
}
EXPORT_SYMBOL_GPL(rcu_exp_batches_completed_sched);

/*
 * Force a quiescent state.
 */