]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
rcuperf: Remove the "rcu_bh" and "sched" torture types
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sun, 8 Jul 2018 01:25:10 +0000 (18:25 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 30 Aug 2018 23:03:30 +0000 (16:03 -0700)
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: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/rcuperf.c

index 34244523550e16e498754debe9917b7506c1196f..8de53f3dc5b0e1a26224c96498dc355b1ab99fa7 100644 (file)
@@ -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))