rcutorture: Correctly handle grace-period sequence wrap
The new ->gq_seq grace-period sequence numbers must be shifted down, which give artifacts when these numbers wrap. This commit therefore enables rcutorture and rcuperf to handle grace-period sequence numbers even if they do wrap. It does this by allowing a special subtraction function to be specified, and this function subtracts before shifting. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
@@ -532,7 +532,7 @@ static int rcu_pending(void);
|
||||
*/
|
||||
unsigned long rcu_get_gp_seq(void)
|
||||
{
|
||||
return rcu_seq_ctr(READ_ONCE(rcu_state_p->gp_seq));
|
||||
return READ_ONCE(rcu_state_p->gp_seq);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rcu_get_gp_seq);
|
||||
|
||||
@@ -541,7 +541,7 @@ EXPORT_SYMBOL_GPL(rcu_get_gp_seq);
|
||||
*/
|
||||
unsigned long rcu_sched_get_gp_seq(void)
|
||||
{
|
||||
return rcu_seq_ctr(READ_ONCE(rcu_sched_state.gp_seq));
|
||||
return READ_ONCE(rcu_sched_state.gp_seq);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rcu_sched_get_gp_seq);
|
||||
|
||||
@@ -550,7 +550,7 @@ EXPORT_SYMBOL_GPL(rcu_sched_get_gp_seq);
|
||||
*/
|
||||
unsigned long rcu_bh_get_gp_seq(void)
|
||||
{
|
||||
return rcu_seq_ctr(READ_ONCE(rcu_bh_state.gp_seq));
|
||||
return READ_ONCE(rcu_bh_state.gp_seq);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rcu_bh_get_gp_seq);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user