rcutorture: Prepare for ->start_gp_poll and ->poll_gp_state

The new get_state_synchronize_srcu(), start_poll_synchronize_srcu() and
poll_state_synchronize_srcu() functions need to be tested, and so this
commit prepares by renaming the rcu_torture_ops field ->get_state to
->get_gp_state in order to be consistent with the upcoming ->start_gp_poll
and ->poll_gp_state fields.

Link: https://lore.kernel.org/rcu/20201112201547.GF3365678@moria.home.lan/
Reported-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
Paul E. McKenney 2020-11-13 20:14:27 -08:00
Родитель 4e7ccfae52
Коммит fd56f64b4e
1 изменённых файлов: 5 добавлений и 5 удалений

Просмотреть файл

@ -311,7 +311,7 @@ struct rcu_torture_ops {
void (*deferred_free)(struct rcu_torture *p); void (*deferred_free)(struct rcu_torture *p);
void (*sync)(void); void (*sync)(void);
void (*exp_sync)(void); void (*exp_sync)(void);
unsigned long (*get_state)(void); unsigned long (*get_gp_state)(void);
void (*cond_sync)(unsigned long oldstate); void (*cond_sync)(unsigned long oldstate);
call_rcu_func_t call; call_rcu_func_t call;
void (*cb_barrier)(void); void (*cb_barrier)(void);
@ -461,7 +461,7 @@ static struct rcu_torture_ops rcu_ops = {
.deferred_free = rcu_torture_deferred_free, .deferred_free = rcu_torture_deferred_free,
.sync = synchronize_rcu, .sync = synchronize_rcu,
.exp_sync = synchronize_rcu_expedited, .exp_sync = synchronize_rcu_expedited,
.get_state = get_state_synchronize_rcu, .get_gp_state = get_state_synchronize_rcu,
.cond_sync = cond_synchronize_rcu, .cond_sync = cond_synchronize_rcu,
.call = call_rcu, .call = call_rcu,
.cb_barrier = rcu_barrier, .cb_barrier = rcu_barrier,
@ -1050,10 +1050,10 @@ rcu_torture_writer(void *arg)
/* Initialize synctype[] array. If none set, take default. */ /* Initialize synctype[] array. If none set, take default. */
if (!gp_cond1 && !gp_exp1 && !gp_normal1 && !gp_sync1) if (!gp_cond1 && !gp_exp1 && !gp_normal1 && !gp_sync1)
gp_cond1 = gp_exp1 = gp_normal1 = gp_sync1 = true; gp_cond1 = gp_exp1 = gp_normal1 = gp_sync1 = true;
if (gp_cond1 && cur_ops->get_state && cur_ops->cond_sync) { if (gp_cond1 && cur_ops->get_gp_state && cur_ops->cond_sync) {
synctype[nsynctypes++] = RTWS_COND_GET; synctype[nsynctypes++] = RTWS_COND_GET;
pr_info("%s: Testing conditional GPs.\n", __func__); pr_info("%s: Testing conditional GPs.\n", __func__);
} else if (gp_cond && (!cur_ops->get_state || !cur_ops->cond_sync)) { } else if (gp_cond && (!cur_ops->get_gp_state || !cur_ops->cond_sync)) {
pr_alert("%s: gp_cond without primitives.\n", __func__); pr_alert("%s: gp_cond without primitives.\n", __func__);
} }
if (gp_exp1 && cur_ops->exp_sync) { if (gp_exp1 && cur_ops->exp_sync) {
@ -1119,7 +1119,7 @@ rcu_torture_writer(void *arg)
break; break;
case RTWS_COND_GET: case RTWS_COND_GET:
rcu_torture_writer_state = RTWS_COND_GET; rcu_torture_writer_state = RTWS_COND_GET;
gp_snap = cur_ops->get_state(); gp_snap = cur_ops->get_gp_state();
i = torture_random(&rand) % 16; i = torture_random(&rand) % 16;
if (i != 0) if (i != 0)
schedule_timeout_interruptible(i); schedule_timeout_interruptible(i);