Commit 620d2460 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

rcuperf: 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 rcuperf.

Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent c770c82a
Loading
Loading
Loading
Loading
+2 −63
Original line number Diff line number Diff line
@@ -189,36 +189,6 @@ static struct rcu_perf_ops rcu_ops = {
	.name		= "rcu"
};

/*
 * Definitions for rcu_bh perf testing.
 */

static int rcu_bh_perf_read_lock(void) __acquires(RCU_BH)
{
	rcu_read_lock_bh();
	return 0;
}

static void rcu_bh_perf_read_unlock(int idx) __releases(RCU_BH)
{
	rcu_read_unlock_bh();
}

static struct rcu_perf_ops rcu_bh_ops = {
	.ptype		= RCU_BH_FLAVOR,
	.init		= rcu_sync_perf_init,
	.readlock	= rcu_bh_perf_read_lock,
	.readunlock	= rcu_bh_perf_read_unlock,
	.get_gp_seq	= rcu_bh_get_gp_seq,
	.gp_diff	= rcu_seq_diff,
	.exp_completed	= rcu_exp_batches_completed_sched,
	.async		= call_rcu_bh,
	.gp_barrier	= rcu_barrier_bh,
	.sync		= synchronize_rcu_bh,
	.exp_sync	= synchronize_rcu_bh_expedited,
	.name		= "rcu_bh"
};

/*
 * Definitions for srcu perf testing.
 */
@@ -305,36 +275,6 @@ static struct rcu_perf_ops srcud_ops = {
	.name		= "srcud"
};

/*
 * Definitions for sched perf testing.
 */

static int sched_perf_read_lock(void)
{
	preempt_disable();
	return 0;
}

static void sched_perf_read_unlock(int idx)
{
	preempt_enable();
}

static struct rcu_perf_ops sched_ops = {
	.ptype		= RCU_SCHED_FLAVOR,
	.init		= rcu_sync_perf_init,
	.readlock	= sched_perf_read_lock,
	.readunlock	= sched_perf_read_unlock,
	.get_gp_seq	= rcu_sched_get_gp_seq,
	.gp_diff	= rcu_seq_diff,
	.exp_completed	= rcu_exp_batches_completed_sched,
	.async		= call_rcu_sched,
	.gp_barrier	= rcu_barrier_sched,
	.sync		= synchronize_sched,
	.exp_sync	= synchronize_sched_expedited,
	.name		= "sched"
};

/*
 * Definitions for RCU-tasks perf testing.
 */
@@ -611,7 +551,7 @@ rcu_perf_cleanup(void)
		kfree(writer_n_durations);
	}

	/* Do flavor-specific cleanup operations.  */
	/* Do torture-type-specific cleanup operations.  */
	if (cur_ops->cleanup != NULL)
		cur_ops->cleanup();

@@ -661,8 +601,7 @@ rcu_perf_init(void)
	long i;
	int firsterr = 0;
	static struct rcu_perf_ops *perf_ops[] = {
		&rcu_ops, &rcu_bh_ops, &srcu_ops, &srcud_ops, &sched_ops,
		&tasks_ops,
		&rcu_ops, &srcu_ops, &srcud_ops, &tasks_ops,
	};

	if (!torture_init_begin(perf_type, verbose))