forked from luck/tmp_suning_uos_patched
rcutorture: Remove the "rcu_bh" and "sched" torture types
Now that the RCU-bh and RCU-sched update-side functions are simple wrappers around their RCU counterparts, there isn't a whole lot of point in testing them. This commit therefore removes the "rcu_bh" and "sched" torture types from rcutorture. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
parent
72ce30dd1f
commit
c770c82a23
|
@ -128,7 +128,7 @@ torture_param(int, verbose, 1,
|
|||
|
||||
static char *torture_type = "rcu";
|
||||
module_param(torture_type, charp, 0444);
|
||||
MODULE_PARM_DESC(torture_type, "Type of RCU to torture (rcu, rcu_bh, ...)");
|
||||
MODULE_PARM_DESC(torture_type, "Type of RCU to torture (rcu, srcu, ...)");
|
||||
|
||||
static int nrealreaders;
|
||||
static int ncbflooders;
|
||||
|
@ -438,47 +438,6 @@ static struct rcu_torture_ops rcu_ops = {
|
|||
.name = "rcu"
|
||||
};
|
||||
|
||||
/*
|
||||
* Definitions for rcu_bh torture testing.
|
||||
*/
|
||||
|
||||
static int rcu_bh_torture_read_lock(void) __acquires(RCU_BH)
|
||||
{
|
||||
rcu_read_lock_bh();
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void rcu_bh_torture_read_unlock(int idx) __releases(RCU_BH)
|
||||
{
|
||||
rcu_read_unlock_bh();
|
||||
}
|
||||
|
||||
static void rcu_bh_torture_deferred_free(struct rcu_torture *p)
|
||||
{
|
||||
call_rcu_bh(&p->rtort_rcu, rcu_torture_cb);
|
||||
}
|
||||
|
||||
static struct rcu_torture_ops rcu_bh_ops = {
|
||||
.ttype = RCU_BH_FLAVOR,
|
||||
.init = rcu_sync_torture_init,
|
||||
.readlock = rcu_bh_torture_read_lock,
|
||||
.read_delay = rcu_read_delay, /* just reuse rcu's version. */
|
||||
.readunlock = rcu_bh_torture_read_unlock,
|
||||
.get_gp_seq = rcu_bh_get_gp_seq,
|
||||
.gp_diff = rcu_seq_diff,
|
||||
.deferred_free = rcu_bh_torture_deferred_free,
|
||||
.sync = synchronize_rcu_bh,
|
||||
.exp_sync = synchronize_rcu_bh_expedited,
|
||||
.call = call_rcu_bh,
|
||||
.cb_barrier = rcu_barrier_bh,
|
||||
.fqs = rcu_bh_force_quiescent_state,
|
||||
.stats = NULL,
|
||||
.irq_capable = 1,
|
||||
.extendables = (RCUTORTURE_RDR_BH | RCUTORTURE_RDR_IRQ),
|
||||
.ext_irq_conflict = RCUTORTURE_RDR_RCU,
|
||||
.name = "rcu_bh"
|
||||
};
|
||||
|
||||
/*
|
||||
* Don't even think about trying any of these in real life!!!
|
||||
* The names includes "busted", and they really means it!
|
||||
|
@ -666,48 +625,6 @@ static struct rcu_torture_ops busted_srcud_ops = {
|
|||
.name = "busted_srcud"
|
||||
};
|
||||
|
||||
/*
|
||||
* Definitions for sched torture testing.
|
||||
*/
|
||||
|
||||
static int sched_torture_read_lock(void)
|
||||
{
|
||||
preempt_disable();
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void sched_torture_read_unlock(int idx)
|
||||
{
|
||||
preempt_enable();
|
||||
}
|
||||
|
||||
static void rcu_sched_torture_deferred_free(struct rcu_torture *p)
|
||||
{
|
||||
call_rcu_sched(&p->rtort_rcu, rcu_torture_cb);
|
||||
}
|
||||
|
||||
static struct rcu_torture_ops sched_ops = {
|
||||
.ttype = RCU_SCHED_FLAVOR,
|
||||
.init = rcu_sync_torture_init,
|
||||
.readlock = sched_torture_read_lock,
|
||||
.read_delay = rcu_read_delay, /* just reuse rcu's version. */
|
||||
.readunlock = sched_torture_read_unlock,
|
||||
.get_gp_seq = rcu_sched_get_gp_seq,
|
||||
.gp_diff = rcu_seq_diff,
|
||||
.deferred_free = rcu_sched_torture_deferred_free,
|
||||
.sync = synchronize_sched,
|
||||
.exp_sync = synchronize_sched_expedited,
|
||||
.get_state = get_state_synchronize_sched,
|
||||
.cond_sync = cond_synchronize_sched,
|
||||
.call = call_rcu_sched,
|
||||
.cb_barrier = rcu_barrier_sched,
|
||||
.fqs = rcu_sched_force_quiescent_state,
|
||||
.stats = NULL,
|
||||
.irq_capable = 1,
|
||||
.extendables = RCUTORTURE_MAX_EXTEND,
|
||||
.name = "sched"
|
||||
};
|
||||
|
||||
/*
|
||||
* Definitions for RCU-tasks torture testing.
|
||||
*/
|
||||
|
@ -1956,8 +1873,8 @@ rcu_torture_init(void)
|
|||
int cpu;
|
||||
int firsterr = 0;
|
||||
static struct rcu_torture_ops *torture_ops[] = {
|
||||
&rcu_ops, &rcu_bh_ops, &rcu_busted_ops, &srcu_ops, &srcud_ops,
|
||||
&busted_srcud_ops, &sched_ops, &tasks_ops,
|
||||
&rcu_ops, &rcu_busted_ops, &srcu_ops, &srcud_ops,
|
||||
&busted_srcud_ops, &tasks_ops,
|
||||
};
|
||||
|
||||
if (!torture_init_begin(torture_type, verbose))
|
||||
|
|
Loading…
Reference in New Issue
Block a user