Lines Matching refs:cur_ops
399 static struct rcu_torture_ops *cur_ops; variable
431 started = cur_ops->get_gp_seq(); in rcu_read_delay()
437 completed = cur_ops->get_gp_seq(); in rcu_read_delay()
438 do_trace_rcu_torture_read(cur_ops->name, NULL, ts, in rcu_read_delay()
516 cur_ops->deferred_free(rp); in rcu_torture_cb()
644 if (cur_ops == &srcud_ops) in srcu_torture_read_lock()
671 if (cur_ops == &srcud_ops) in srcu_torture_read_unlock()
1004 if (!cur_ops->gp_diff) in rcutorture_seq_diff()
1006 return cur_ops->gp_diff(new, old); in rcutorture_seq_diff()
1056 if (cur_ops->poll_gp_state(gp_state)) in rcu_torture_boost_failed()
1058 if (cur_ops->check_boost_failed && !cur_ops->check_boost_failed(gp_state, &cpu)) { in rcu_torture_boost_failed()
1068 if (!xchg(&dbg_done, 1) && cur_ops->gp_kthread_dbg) { in rcu_torture_boost_failed()
1071 cur_ops->gp_kthread_dbg(); in rcu_torture_boost_failed()
1073 gp_done = cur_ops->poll_gp_state(gp_state); in rcu_torture_boost_failed()
1080 } else if (cur_ops->check_boost_failed && !cur_ops->check_boost_failed(gp_state, NULL)) { in rcu_torture_boost_failed()
1121 if (gp_initiated && !failed && !cur_ops->poll_gp_state(gp_state)) in rcu_torture_boost()
1124 if (!gp_initiated || cur_ops->poll_gp_state(gp_state)) { in rcu_torture_boost()
1125 gp_state = cur_ops->start_gp_poll(); in rcu_torture_boost()
1134 if (cur_ops->poll_gp_state(gp_state)) in rcu_torture_boost()
1142 if (gp_initiated && !failed && !cur_ops->poll_gp_state(gp_state)) in rcu_torture_boost()
1201 cur_ops->fqs(); in rcu_torture_fqs()
1250 if (gp_cond1 && cur_ops->get_gp_state && cur_ops->cond_sync) { in rcu_torture_write_types()
1253 } else if (gp_cond && (!cur_ops->get_gp_state || !cur_ops->cond_sync)) { in rcu_torture_write_types()
1256 if (gp_cond_exp1 && cur_ops->get_gp_state_exp && cur_ops->cond_sync_exp) { in rcu_torture_write_types()
1259 } else if (gp_cond_exp && (!cur_ops->get_gp_state_exp || !cur_ops->cond_sync_exp)) { in rcu_torture_write_types()
1262 if (gp_cond_full1 && cur_ops->get_gp_state && cur_ops->cond_sync_full) { in rcu_torture_write_types()
1265 } else if (gp_cond_full && (!cur_ops->get_gp_state || !cur_ops->cond_sync_full)) { in rcu_torture_write_types()
1268 if (gp_cond_exp_full1 && cur_ops->get_gp_state_exp && cur_ops->cond_sync_exp_full) { in rcu_torture_write_types()
1272 (!cur_ops->get_gp_state_exp || !cur_ops->cond_sync_exp_full)) { in rcu_torture_write_types()
1275 if (gp_exp1 && cur_ops->exp_sync) { in rcu_torture_write_types()
1278 } else if (gp_exp && !cur_ops->exp_sync) { in rcu_torture_write_types()
1281 if (gp_normal1 && cur_ops->deferred_free) { in rcu_torture_write_types()
1284 } else if (gp_normal && !cur_ops->deferred_free) { in rcu_torture_write_types()
1287 if (gp_poll1 && cur_ops->get_comp_state && cur_ops->same_gp_state && in rcu_torture_write_types()
1288 cur_ops->start_gp_poll && cur_ops->poll_gp_state) { in rcu_torture_write_types()
1291 } else if (gp_poll && (!cur_ops->start_gp_poll || !cur_ops->poll_gp_state)) { in rcu_torture_write_types()
1294 if (gp_poll_full1 && cur_ops->get_comp_state_full && cur_ops->same_gp_state_full in rcu_torture_write_types()
1295 && cur_ops->start_gp_poll_full && cur_ops->poll_gp_state_full) { in rcu_torture_write_types()
1298 } else if (gp_poll_full && (!cur_ops->start_gp_poll_full || !cur_ops->poll_gp_state_full)) { in rcu_torture_write_types()
1301 if (gp_poll_exp1 && cur_ops->start_gp_poll_exp && cur_ops->poll_gp_state_exp) { in rcu_torture_write_types()
1304 } else if (gp_poll_exp && (!cur_ops->start_gp_poll_exp || !cur_ops->poll_gp_state_exp)) { in rcu_torture_write_types()
1307 if (gp_poll_exp_full1 && cur_ops->start_gp_poll_exp_full && cur_ops->poll_gp_state_full) { in rcu_torture_write_types()
1311 (!cur_ops->start_gp_poll_exp_full || !cur_ops->poll_gp_state_full)) { in rcu_torture_write_types()
1314 if (gp_sync1 && cur_ops->sync) { in rcu_torture_write_types()
1317 } else if (gp_sync && !cur_ops->sync) { in rcu_torture_write_types()
1336 dopoll = cur_ops->get_gp_state && cur_ops->poll_gp_state && !(r & 0x300); in do_rtws_sync()
1337 dopoll_full = cur_ops->get_gp_state_full && cur_ops->poll_gp_state_full && !(r & 0xc00); in do_rtws_sync()
1341 cookie = cur_ops->get_gp_state(); in do_rtws_sync()
1343 cur_ops->get_gp_state_full(&cookie_full); in do_rtws_sync()
1344 if (cur_ops->poll_need_2gp && cur_ops->poll_need_2gp(dopoll, dopoll_full)) in do_rtws_sync()
1347 WARN_ONCE(dopoll && !cur_ops->poll_gp_state(cookie), in do_rtws_sync()
1350 WARN_ONCE(dopoll_full && !cur_ops->poll_gp_state_full(&cookie_full), in do_rtws_sync()
1395 torture_type, cur_ops->name); in rcu_torture_writer()
1407 if (cur_ops->poll_active > 0) { in rcu_torture_writer()
1408 ulo = kzalloc(cur_ops->poll_active * sizeof(ulo[0]), GFP_KERNEL); in rcu_torture_writer()
1410 ulo_size = cur_ops->poll_active; in rcu_torture_writer()
1412 if (cur_ops->poll_active_full > 0) { in rcu_torture_writer()
1413 rgo = kzalloc(cur_ops->poll_active_full * sizeof(rgo[0]), GFP_KERNEL); in rcu_torture_writer()
1415 rgo_size = cur_ops->poll_active_full; in rcu_torture_writer()
1444 if (cur_ops->get_gp_state && cur_ops->poll_gp_state) { in rcu_torture_writer()
1445 idx = cur_ops->readlock(); in rcu_torture_writer()
1446 cookie = cur_ops->get_gp_state(); in rcu_torture_writer()
1447 WARN_ONCE(cur_ops->poll_gp_state(cookie), in rcu_torture_writer()
1452 cookie, cur_ops->get_gp_state()); in rcu_torture_writer()
1453 if (cur_ops->get_comp_state) { in rcu_torture_writer()
1454 cookie = cur_ops->get_comp_state(); in rcu_torture_writer()
1455 WARN_ON_ONCE(!cur_ops->poll_gp_state(cookie)); in rcu_torture_writer()
1457 cur_ops->readunlock(idx); in rcu_torture_writer()
1459 if (cur_ops->get_gp_state_full && cur_ops->poll_gp_state_full) { in rcu_torture_writer()
1460 idx = cur_ops->readlock(); in rcu_torture_writer()
1461 cur_ops->get_gp_state_full(&cookie_full); in rcu_torture_writer()
1462 WARN_ONCE(cur_ops->poll_gp_state_full(&cookie_full), in rcu_torture_writer()
1468 if (cur_ops->get_comp_state_full) { in rcu_torture_writer()
1469 cur_ops->get_comp_state_full(&cookie_full); in rcu_torture_writer()
1470 WARN_ON_ONCE(!cur_ops->poll_gp_state_full(&cookie_full)); in rcu_torture_writer()
1472 cur_ops->readunlock(idx); in rcu_torture_writer()
1477 cur_ops->deferred_free(old_rp); in rcu_torture_writer()
1481 do_rtws_sync(&rand, cur_ops->exp_sync); in rcu_torture_writer()
1486 gp_snap = cur_ops->get_gp_state(); in rcu_torture_writer()
1489 cur_ops->cond_sync(gp_snap); in rcu_torture_writer()
1494 gp_snap = cur_ops->get_gp_state_exp(); in rcu_torture_writer()
1497 cur_ops->cond_sync_exp(gp_snap); in rcu_torture_writer()
1502 cur_ops->get_gp_state_full(&gp_snap_full); in rcu_torture_writer()
1505 cur_ops->cond_sync_full(&gp_snap_full); in rcu_torture_writer()
1510 cur_ops->get_gp_state_full(&gp_snap_full); in rcu_torture_writer()
1513 cur_ops->cond_sync_exp_full(&gp_snap_full); in rcu_torture_writer()
1519 ulo[i] = cur_ops->get_comp_state(); in rcu_torture_writer()
1520 gp_snap = cur_ops->start_gp_poll(); in rcu_torture_writer()
1522 while (!cur_ops->poll_gp_state(gp_snap)) { in rcu_torture_writer()
1523 gp_snap1 = cur_ops->get_gp_state(); in rcu_torture_writer()
1525 if (cur_ops->poll_gp_state(ulo[i]) || in rcu_torture_writer()
1526 cur_ops->same_gp_state(ulo[i], gp_snap1)) { in rcu_torture_writer()
1539 cur_ops->get_comp_state_full(&rgo[i]); in rcu_torture_writer()
1540 cur_ops->start_gp_poll_full(&gp_snap_full); in rcu_torture_writer()
1542 while (!cur_ops->poll_gp_state_full(&gp_snap_full)) { in rcu_torture_writer()
1543 cur_ops->get_gp_state_full(&gp_snap1_full); in rcu_torture_writer()
1545 if (cur_ops->poll_gp_state_full(&rgo[i]) || in rcu_torture_writer()
1546 cur_ops->same_gp_state_full(&rgo[i], in rcu_torture_writer()
1559 gp_snap = cur_ops->start_gp_poll_exp(); in rcu_torture_writer()
1561 while (!cur_ops->poll_gp_state_exp(gp_snap)) in rcu_torture_writer()
1568 cur_ops->start_gp_poll_exp_full(&gp_snap_full); in rcu_torture_writer()
1570 while (!cur_ops->poll_gp_state_full(&gp_snap_full)) in rcu_torture_writer()
1577 do_rtws_sync(&rand, cur_ops->sync); in rcu_torture_writer()
1606 !cur_ops->slow_gps && in rcu_torture_writer()
1614 if (cur_ops->gp_kthread_dbg) in rcu_torture_writer()
1615 cur_ops->gp_kthread_dbg(); in rcu_torture_writer()
1667 if (cur_ops->cb_barrier != NULL && in rcu_torture_fakewriter()
1669 cur_ops->cb_barrier(); in rcu_torture_fakewriter()
1675 cur_ops->exp_sync(); in rcu_torture_fakewriter()
1678 gp_snap = cur_ops->get_gp_state(); in rcu_torture_fakewriter()
1680 cur_ops->cond_sync(gp_snap); in rcu_torture_fakewriter()
1683 gp_snap = cur_ops->get_gp_state_exp(); in rcu_torture_fakewriter()
1685 cur_ops->cond_sync_exp(gp_snap); in rcu_torture_fakewriter()
1688 cur_ops->get_gp_state_full(&gp_snap_full); in rcu_torture_fakewriter()
1690 cur_ops->cond_sync_full(&gp_snap_full); in rcu_torture_fakewriter()
1693 cur_ops->get_gp_state_full(&gp_snap_full); in rcu_torture_fakewriter()
1695 cur_ops->cond_sync_exp_full(&gp_snap_full); in rcu_torture_fakewriter()
1698 gp_snap = cur_ops->start_gp_poll(); in rcu_torture_fakewriter()
1699 while (!cur_ops->poll_gp_state(gp_snap)) { in rcu_torture_fakewriter()
1705 cur_ops->start_gp_poll_full(&gp_snap_full); in rcu_torture_fakewriter()
1706 while (!cur_ops->poll_gp_state_full(&gp_snap_full)) { in rcu_torture_fakewriter()
1712 gp_snap = cur_ops->start_gp_poll_exp(); in rcu_torture_fakewriter()
1713 while (!cur_ops->poll_gp_state_exp(gp_snap)) { in rcu_torture_fakewriter()
1719 cur_ops->start_gp_poll_exp_full(&gp_snap_full); in rcu_torture_fakewriter()
1720 while (!cur_ops->poll_gp_state_full(&gp_snap_full)) { in rcu_torture_fakewriter()
1726 cur_ops->sync(); in rcu_torture_fakewriter()
1838 idxnew1 = (cur_ops->readlock() & 0x1) << RCUTORTURE_RDR_SHIFT_1; in rcutorture_one_extend()
1840 idxnew2 = (cur_ops->readlock() & 0x1) << RCUTORTURE_RDR_SHIFT_2; in rcutorture_one_extend()
1860 cur_ops->readunlock((idxold2 >> RCUTORTURE_RDR_SHIFT_2) & 0x1); in rcutorture_one_extend()
1867 lockit = !cur_ops->no_pi_lock && !statesnew && !(torture_random(trsp) & 0xffff); in rcutorture_one_extend()
1870 cur_ops->readunlock((idxold1 >> RCUTORTURE_RDR_SHIFT_1) & 0x1); in rcutorture_one_extend()
1879 cur_ops->read_delay(trsp, rtrsp); in rcutorture_one_extend()
1903 mask = extendables & RCUTORTURE_MAX_EXTEND & cur_ops->extendables; in rcutorture_extend_mask_max()
2007 if (cur_ops->get_gp_state && cur_ops->poll_gp_state) in rcu_torture_one_read()
2008 cookie = cur_ops->get_gp_state(); in rcu_torture_one_read()
2009 if (cur_ops->get_gp_state_full && cur_ops->poll_gp_state_full) in rcu_torture_one_read()
2010 cur_ops->get_gp_state_full(&cookie_full); in rcu_torture_one_read()
2012 started = cur_ops->get_gp_seq(); in rcu_torture_one_read()
2015 !cur_ops->readlock_held || cur_ops->readlock_held()); in rcu_torture_one_read()
2032 completed = cur_ops->get_gp_seq(); in rcu_torture_one_read()
2034 do_trace_rcu_torture_read(cur_ops->name, &p->rtort_rcu, in rcu_torture_one_read()
2047 if (cur_ops->get_gp_state && cur_ops->poll_gp_state) in rcu_torture_one_read()
2048 WARN_ONCE(cur_ops->poll_gp_state(cookie), in rcu_torture_one_read()
2053 cookie, cur_ops->get_gp_state()); in rcu_torture_one_read()
2054 if (cur_ops->get_gp_state_full && cur_ops->poll_gp_state_full) in rcu_torture_one_read()
2055 WARN_ONCE(cur_ops->poll_gp_state_full(&cookie_full), in rcu_torture_one_read()
2093 if (cur_ops->call) { in rcu_torture_timer()
2097 cur_ops->call(rhp, rcu_torture_timer_cb); in rcu_torture_timer()
2118 if (irqreader && cur_ops->irq_capable) in rcu_torture_reader()
2122 if (irqreader && cur_ops->irq_capable) { in rcu_torture_reader()
2136 if (irqreader && cur_ops->irq_capable) { in rcu_torture_reader()
2283 if (cur_ops->stats) in rcu_torture_stats_print()
2284 cur_ops->stats(); in rcu_torture_stats_print()
2291 if (cur_ops->get_gp_data) in rcu_torture_stats_print()
2292 cur_ops->get_gp_data(&flags, &gp_seq); in rcu_torture_stats_print()
2303 if (cur_ops->gp_kthread_dbg) in rcu_torture_stats_print()
2304 cur_ops->gp_kthread_dbg(); in rcu_torture_stats_print()
2378 rcu_torture_print_module_parms(struct rcu_torture_ops *cur_ops, const char *tag) in rcu_torture_print_module_parms() argument
2397 test_boost, cur_ops->can_boost, in rcu_torture_print_module_parms()
2501 idx = cur_ops->readlock(); in rcu_torture_stall_one()
2523 cur_ops->readunlock(idx); in rcu_torture_stall_one()
2594 cur_ops->call(&fcsp->rh, rcu_torture_fwd_prog_cb); in rcu_torture_fwd_prog_cb()
2677 rfp->n_launders_hist[i].launder_gp_seq = cur_ops->get_gp_seq(); in rcu_torture_fwd_cb_cr()
2743 if (!cur_ops->sync) in rcu_torture_fwd_prog_nr()
2745 if (cur_ops->call && cur_ops->cb_barrier) { in rcu_torture_fwd_prog_nr()
2752 cur_ops->sync(); /* Later readers see above write. */ in rcu_torture_fwd_prog_nr()
2755 cur_ops->call(&fcs.rh, rcu_torture_fwd_prog_cb); in rcu_torture_fwd_prog_nr()
2758 gps = cur_ops->get_gp_seq(); in rcu_torture_fwd_prog_nr()
2759 sd = cur_ops->stall_dur() + 1; in rcu_torture_fwd_prog_nr()
2767 idx = cur_ops->readlock(); in rcu_torture_fwd_prog_nr()
2769 cur_ops->readunlock(idx); in rcu_torture_fwd_prog_nr()
2779 gps = rcutorture_seq_diff(cur_ops->get_gp_seq(), gps); in rcu_torture_fwd_prog_nr()
2786 cur_ops->sync(); /* Wait for running CB to complete. */ in rcu_torture_fwd_prog_nr()
2787 pr_alert("%s: Waiting for CBs: %pS() %d\n", __func__, cur_ops->cb_barrier, rfp->rcu_fwd_id); in rcu_torture_fwd_prog_nr()
2788 cur_ops->cb_barrier(); /* Wait for queued callbacks. */ in rcu_torture_fwd_prog_nr()
2819 if (!cur_ops->call) in rcu_torture_fwd_prog_cr()
2824 cur_ops->sync(); /* Later readers see above write. */ in rcu_torture_fwd_prog_cr()
2835 gps = cur_ops->get_gp_seq(); in rcu_torture_fwd_prog_cr()
2852 } else if (!cur_ops->cbflood_max || cur_ops->cbflood_max > n_max_cbs) { in rcu_torture_fwd_prog_cr()
2866 cur_ops->call(&rfcp->rh, rcu_torture_fwd_cb_cr); in rcu_torture_fwd_prog_cr()
2877 gps = rcutorture_seq_diff(cur_ops->get_gp_seq(), gps); in rcu_torture_fwd_prog_cr()
2878 pr_alert("%s: Waiting for CBs: %pS() %d\n", __func__, cur_ops->cb_barrier, rfp->rcu_fwd_id); in rcu_torture_fwd_prog_cr()
2879 cur_ops->cb_barrier(); /* Wait for callbacks to be invoked. */ in rcu_torture_fwd_prog_cr()
2884 if (WARN_ON(n_max_gps < MIN_FWD_CBS_LAUNDERED) && cur_ops->gp_kthread_dbg) in rcu_torture_fwd_prog_cr()
2885 cur_ops->gp_kthread_dbg(); in rcu_torture_fwd_prog_cr()
2932 cur_ops->cb_barrier(); in rcutorture_oom_notify()
2937 cur_ops->cb_barrier(); in rcutorture_oom_notify()
2986 if ((cur_ops->stall_dur && cur_ops->stall_dur() > 0) && in rcu_torture_fwd_prog()
3020 if ((!cur_ops->sync && !cur_ops->call) || in rcu_torture_fwd_prog_init()
3021 (!cur_ops->cbflood_max && (!cur_ops->stall_dur || cur_ops->stall_dur() <= 0)) || in rcu_torture_fwd_prog_init()
3022 cur_ops == &rcu_busted_ops) { in rcu_torture_fwd_prog_init()
3097 cur_ops->call(rhp, rcu_torture_barrier_cbf); in rcu_torture_barrier1cb()
3125 cur_ops->call(&rcu, rcu_torture_barrier_cbf); in rcu_torture_barrier_cbs()
3130 if (cur_ops->cb_barrier != NULL) in rcu_torture_barrier_cbs()
3131 cur_ops->cb_barrier(); in rcu_torture_barrier_cbs()
3156 cur_ops->cb_barrier(); /* Implies smp_mb() for wait_event(). */ in rcu_torture_barrier()
3169 cur_ops->cb_barrier(); in rcu_torture_barrier()
3194 if (cur_ops->call == NULL || cur_ops->cb_barrier == NULL) { in rcu_torture_barrier_init()
3197 torture_type, cur_ops->name); in rcu_torture_barrier_init()
3247 if (!(test_boost == 1 && cur_ops->can_boost) && test_boost != 2) in rcu_torture_can_boost()
3249 if (!cur_ops->start_gp_poll || !cur_ops->poll_gp_state) in rcu_torture_can_boost()
3388 if (cur_ops->cb_barrier != NULL) { in rcu_torture_cleanup()
3389 pr_info("%s: Invoking %pS().\n", __func__, cur_ops->cb_barrier); in rcu_torture_cleanup()
3390 cur_ops->cb_barrier(); in rcu_torture_cleanup()
3392 if (cur_ops->gp_slow_unregister) in rcu_torture_cleanup()
3393 cur_ops->gp_slow_unregister(NULL); in rcu_torture_cleanup()
3396 if (!cur_ops) { in rcu_torture_cleanup()
3403 if (cur_ops->gp_kthread_dbg) in rcu_torture_cleanup()
3404 cur_ops->gp_kthread_dbg(); in rcu_torture_cleanup()
3436 if (cur_ops->get_gp_data) in rcu_torture_cleanup()
3437 cur_ops->get_gp_data(&flags, &gp_seq); in rcu_torture_cleanup()
3439 cur_ops->name, (long)gp_seq, flags, in rcu_torture_cleanup()
3450 if (cur_ops->cb_barrier != NULL) { in rcu_torture_cleanup()
3451 pr_info("%s: Invoking %pS().\n", __func__, cur_ops->cb_barrier); in rcu_torture_cleanup()
3452 cur_ops->cb_barrier(); in rcu_torture_cleanup()
3454 if (cur_ops->cleanup != NULL) in rcu_torture_cleanup()
3455 cur_ops->cleanup(); in rcu_torture_cleanup()
3489 rcu_torture_print_module_parms(cur_ops, "End of test: FAILURE"); in rcu_torture_cleanup()
3491 rcu_torture_print_module_parms(cur_ops, in rcu_torture_cleanup()
3494 rcu_torture_print_module_parms(cur_ops, "End of test: SUCCESS"); in rcu_torture_cleanup()
3496 if (cur_ops->gp_slow_unregister) in rcu_torture_cleanup()
3497 cur_ops->gp_slow_unregister(NULL); in rcu_torture_cleanup()
3531 KBUILD_MODNAME, cur_ops->name); in rcu_test_debug_objects()
3535 if (WARN_ON_ONCE(cur_ops->debug_objects && in rcu_test_debug_objects()
3536 (!cur_ops->call || !cur_ops->cb_barrier))) in rcu_test_debug_objects()
3543 pr_alert("%s: WARN: Duplicate call_%s() test starting.\n", KBUILD_MODNAME, cur_ops->name); in rcu_test_debug_objects()
3546 idx = cur_ops->readlock(); /* Make it impossible to finish a grace period. */ in rcu_test_debug_objects()
3547 cur_ops->call(&rh1, rcu_torture_leak_cb); /* Start grace period. */ in rcu_test_debug_objects()
3548 cur_ops->call(&rh2, rcu_torture_leak_cb); in rcu_test_debug_objects()
3549 cur_ops->call(&rh2, rcu_torture_err_cb); /* Duplicate callback. */ in rcu_test_debug_objects()
3551 cur_ops->call(rhp, rcu_torture_leak_cb); in rcu_test_debug_objects()
3552 cur_ops->call(rhp, rcu_torture_err_cb); /* Another duplicate callback. */ in rcu_test_debug_objects()
3554 cur_ops->readunlock(idx); in rcu_test_debug_objects()
3557 cur_ops->cb_barrier(); in rcu_test_debug_objects()
3558 pr_alert("%s: WARN: Duplicate call_%s() test complete.\n", KBUILD_MODNAME, cur_ops->name); in rcu_test_debug_objects()
3568 if (cur_ops->sync && !(++n & 0xfff)) in rcutorture_sync()
3569 cur_ops->sync(); in rcutorture_sync()
3773 cur_ops = torture_ops[i]; in rcu_torture_init()
3774 if (strcmp(torture_type, cur_ops->name) == 0) in rcu_torture_init()
3785 cur_ops = NULL; in rcu_torture_init()
3788 if (cur_ops->fqs == NULL && fqs_duration != 0) { in rcu_torture_init()
3792 if (nocbs_nthreads != 0 && (cur_ops != &rcu_ops || in rcu_torture_init()
3795 cur_ops->name, IS_ENABLED(CONFIG_RCU_NOCB_CPU)); in rcu_torture_init()
3798 if (cur_ops->init) in rcu_torture_init()
3799 cur_ops->init(); in rcu_torture_init()
3810 rcu_torture_print_module_parms(cur_ops, "Start of test"); in rcu_torture_init()
3811 if (cur_ops->get_gp_data) in rcu_torture_init()
3812 cur_ops->get_gp_data(&flags, &gp_seq); in rcu_torture_init()
3815 cur_ops->name, (long)gp_seq, flags); in rcu_torture_init()
3927 t = cur_ops->stall_dur ? cur_ops->stall_dur() : stutter * HZ; in rcu_torture_init()
3981 if (cur_ops->gp_slow_register && !WARN_ON_ONCE(!cur_ops->gp_slow_unregister)) in rcu_torture_init()
3982 cur_ops->gp_slow_register(&rcu_fwd_cb_nodelay); in rcu_torture_init()