Lines Matching refs:cur_ops

328 static struct rcu_torture_ops *cur_ops;  variable
355 started = cur_ops->get_gp_seq(); in rcu_read_delay()
361 completed = cur_ops->get_gp_seq(); in rcu_read_delay()
362 do_trace_rcu_torture_read(cur_ops->name, NULL, ts, in rcu_read_delay()
434 cur_ops->deferred_free(rp); in rcu_torture_cb()
812 if (!cur_ops->gp_diff) in rcutorture_seq_diff()
814 return cur_ops->gp_diff(new, old); in rcutorture_seq_diff()
819 return cur_ops == &tasks_ops || cur_ops == &tasks_rude_ops; in torturing_tasks()
1001 cur_ops->fqs(); in rcu_torture_fqs()
1036 torture_type, cur_ops->name); in rcu_torture_writer()
1041 if (gp_cond1 && cur_ops->get_state && cur_ops->cond_sync) { in rcu_torture_writer()
1044 } else if (gp_cond && (!cur_ops->get_state || !cur_ops->cond_sync)) { in rcu_torture_writer()
1047 if (gp_exp1 && cur_ops->exp_sync) { in rcu_torture_writer()
1050 } else if (gp_exp && !cur_ops->exp_sync) { in rcu_torture_writer()
1053 if (gp_normal1 && cur_ops->deferred_free) { in rcu_torture_writer()
1056 } else if (gp_normal && !cur_ops->deferred_free) { in rcu_torture_writer()
1059 if (gp_sync1 && cur_ops->sync) { in rcu_torture_writer()
1062 } else if (gp_sync && !cur_ops->sync) { in rcu_torture_writer()
1101 cur_ops->deferred_free(old_rp); in rcu_torture_writer()
1105 cur_ops->exp_sync(); in rcu_torture_writer()
1110 gp_snap = cur_ops->get_state(); in rcu_torture_writer()
1116 cur_ops->cond_sync(gp_snap); in rcu_torture_writer()
1121 cur_ops->sync(); in rcu_torture_writer()
1148 !cur_ops->slow_gps && in rcu_torture_writer()
1190 if (cur_ops->cb_barrier != NULL && in rcu_torture_fakewriter()
1192 cur_ops->cb_barrier(); in rcu_torture_fakewriter()
1194 if (cur_ops->sync && torture_random(&rand) & 0x80) in rcu_torture_fakewriter()
1195 cur_ops->sync(); in rcu_torture_fakewriter()
1196 else if (cur_ops->exp_sync) in rcu_torture_fakewriter()
1197 cur_ops->exp_sync(); in rcu_torture_fakewriter()
1198 } else if (gp_normal && cur_ops->sync) { in rcu_torture_fakewriter()
1199 cur_ops->sync(); in rcu_torture_fakewriter()
1200 } else if (cur_ops->exp_sync) { in rcu_torture_fakewriter()
1201 cur_ops->exp_sync(); in rcu_torture_fakewriter()
1250 idxnew = cur_ops->readlock() << RCUTORTURE_RDR_SHIFT; in rcutorture_one_extend()
1268 cur_ops->readunlock(idxold >> RCUTORTURE_RDR_SHIFT); in rcutorture_one_extend()
1275 cur_ops->read_delay(trsp, rtrsp); in rcutorture_one_extend()
1293 mask = extendables & RCUTORTURE_MAX_EXTEND & cur_ops->extendables; in rcutorture_extend_mask_max()
1367 started = cur_ops->get_gp_seq(); in rcu_torture_one_read()
1389 completed = cur_ops->get_gp_seq(); in rcu_torture_one_read()
1391 do_trace_rcu_torture_read(cur_ops->name, &p->rtort_rcu, in rcu_torture_one_read()
1434 if (cur_ops->call) { in rcu_torture_timer()
1438 cur_ops->call(rhp, rcu_torture_timer_cb); in rcu_torture_timer()
1459 if (irqreader && cur_ops->irq_capable) in rcu_torture_reader()
1463 if (irqreader && cur_ops->irq_capable) { in rcu_torture_reader()
1477 if (irqreader && cur_ops->irq_capable) { in rcu_torture_reader()
1575 if (cur_ops->stats) in rcu_torture_stats_print()
1576 cur_ops->stats(); in rcu_torture_stats_print()
1583 rcutorture_get_gp_data(cur_ops->ttype, in rcu_torture_stats_print()
1585 srcutorture_get_gp_data(cur_ops->ttype, srcu_ctlp, in rcu_torture_stats_print()
1621 rcu_torture_print_module_parms(struct rcu_torture_ops *cur_ops, const char *tag) in rcu_torture_print_module_parms() argument
1638 test_boost, cur_ops->can_boost, in rcu_torture_print_module_parms()
1720 idx = cur_ops->readlock(); in rcu_torture_stall()
1735 cur_ops->readunlock(idx); in rcu_torture_stall()
1771 cur_ops->call(&fcsp->rh, rcu_torture_fwd_prog_cb); in rcu_torture_fwd_prog_cb()
1851 rfp->n_launders_hist[i].launder_gp_seq = cur_ops->get_gp_seq(); in rcu_torture_fwd_cb_cr()
1916 if (cur_ops->call && cur_ops->sync && cur_ops->cb_barrier) { in rcu_torture_fwd_prog_nr()
1923 cur_ops->sync(); /* Later readers see above write. */ in rcu_torture_fwd_prog_nr()
1926 cur_ops->call(&fcs.rh, rcu_torture_fwd_prog_cb); in rcu_torture_fwd_prog_nr()
1929 gps = cur_ops->get_gp_seq(); in rcu_torture_fwd_prog_nr()
1930 sd = cur_ops->stall_dur() + 1; in rcu_torture_fwd_prog_nr()
1938 idx = cur_ops->readlock(); in rcu_torture_fwd_prog_nr()
1940 cur_ops->readunlock(idx); in rcu_torture_fwd_prog_nr()
1950 gps = rcutorture_seq_diff(cur_ops->get_gp_seq(), gps); in rcu_torture_fwd_prog_nr()
1956 cur_ops->sync(); /* Wait for running CB to complete. */ in rcu_torture_fwd_prog_nr()
1957 cur_ops->cb_barrier(); /* Wait for queued callbacks. */ in rcu_torture_fwd_prog_nr()
1987 if (!cur_ops->call) in rcu_torture_fwd_prog_cr()
1992 cur_ops->sync(); /* Later readers see above write. */ in rcu_torture_fwd_prog_cr()
2003 gps = cur_ops->get_gp_seq(); in rcu_torture_fwd_prog_cr()
2031 cur_ops->call(&rfcp->rh, rcu_torture_fwd_cb_cr); in rcu_torture_fwd_prog_cr()
2042 gps = rcutorture_seq_diff(cur_ops->get_gp_seq(), gps); in rcu_torture_fwd_prog_cr()
2043 cur_ops->cb_barrier(); /* Wait for callbacks to be invoked. */ in rcu_torture_fwd_prog_cr()
2140 if (!cur_ops->stall_dur || cur_ops->stall_dur() <= 0 || in rcu_torture_fwd_prog_init()
2141 cur_ops == &rcu_busted_ops) { in rcu_torture_fwd_prog_init()
2192 cur_ops->call(rhp, rcu_torture_barrier_cbf); in rcu_torture_barrier1cb()
2221 cur_ops->call(&rcu, rcu_torture_barrier_cbf); in rcu_torture_barrier_cbs()
2226 if (cur_ops->cb_barrier != NULL) in rcu_torture_barrier_cbs()
2227 cur_ops->cb_barrier(); in rcu_torture_barrier_cbs()
2252 cur_ops->cb_barrier(); /* Implies smp_mb() for wait_event(). */ in rcu_torture_barrier()
2265 cur_ops->cb_barrier(); in rcu_torture_barrier()
2290 if (cur_ops->call == NULL || cur_ops->cb_barrier == NULL) { in rcu_torture_barrier_init()
2293 torture_type, cur_ops->name); in rcu_torture_barrier_init()
2343 if (!(test_boost == 1 && cur_ops->can_boost) && test_boost != 2) in rcu_torture_can_boost()
2466 if (cur_ops->cb_barrier != NULL) in rcu_torture_cleanup()
2467 cur_ops->cb_barrier(); in rcu_torture_cleanup()
2470 if (!cur_ops) { in rcu_torture_cleanup()
2498 rcutorture_get_gp_data(cur_ops->ttype, &flags, &gp_seq); in rcu_torture_cleanup()
2499 srcutorture_get_gp_data(cur_ops->ttype, srcu_ctlp, &flags, &gp_seq); in rcu_torture_cleanup()
2501 cur_ops->name, (long)gp_seq, flags, in rcu_torture_cleanup()
2512 if (cur_ops->cb_barrier != NULL) in rcu_torture_cleanup()
2513 cur_ops->cb_barrier(); in rcu_torture_cleanup()
2514 if (cur_ops->cleanup != NULL) in rcu_torture_cleanup()
2515 cur_ops->cleanup(); in rcu_torture_cleanup()
2547 rcu_torture_print_module_parms(cur_ops, "End of test: FAILURE"); in rcu_torture_cleanup()
2549 rcu_torture_print_module_parms(cur_ops, in rcu_torture_cleanup()
2552 rcu_torture_print_module_parms(cur_ops, "End of test: SUCCESS"); in rcu_torture_cleanup()
2616 if (cur_ops->sync && !(++n & 0xfff)) in rcutorture_sync()
2617 cur_ops->sync(); in rcutorture_sync()
2639 cur_ops = torture_ops[i]; in rcu_torture_init()
2640 if (strcmp(torture_type, cur_ops->name) == 0) in rcu_torture_init()
2652 cur_ops = NULL; in rcu_torture_init()
2655 if (cur_ops->fqs == NULL && fqs_duration != 0) { in rcu_torture_init()
2659 if (cur_ops->init) in rcu_torture_init()
2660 cur_ops->init(); in rcu_torture_init()
2669 rcu_torture_print_module_parms(cur_ops, "Start of test"); in rcu_torture_init()
2670 rcutorture_get_gp_data(cur_ops->ttype, &flags, &gp_seq); in rcu_torture_init()
2671 srcutorture_get_gp_data(cur_ops->ttype, srcu_ctlp, &flags, &gp_seq); in rcu_torture_init()
2674 cur_ops->name, (long)gp_seq, flags); in rcu_torture_init()
2761 t = cur_ops->stall_dur ? cur_ops->stall_dur() : stutter * HZ; in rcu_torture_init()