rcu: Remove rsp parameter from rcu_gp_slow()
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 4 Jul 2018 00:22:34 +0000 (17:22 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 30 Aug 2018 23:03:03 +0000 (16:03 -0700)
There now is only one rcu_state structure in a given build of the
Linux kernel, so there is no need to pass it as a parameter to RCU's
functions.  This commit therefore removes the rsp parameter from
rcu_gp_slow().

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/tree.c

index 9189f7c..2912162 100644 (file)
@@ -1821,10 +1821,10 @@ static void note_gp_changes(struct rcu_data *rdp)
                rcu_gp_kthread_wake();
 }
 
-static void rcu_gp_slow(struct rcu_state *rsp, int delay)
+static void rcu_gp_slow(int delay)
 {
        if (delay > 0 &&
-           !(rcu_seq_ctr(rsp->gp_seq) %
+           !(rcu_seq_ctr(rcu_state.gp_seq) %
              (rcu_num_nodes * PER_RCU_NODE_PERIOD * delay)))
                schedule_timeout_uninterruptible(delay);
 }
@@ -1917,7 +1917,7 @@ static bool rcu_gp_init(struct rcu_state *rsp)
                raw_spin_unlock_irq_rcu_node(rnp);
                spin_unlock(&rsp->ofl_lock);
        }
-       rcu_gp_slow(rsp, gp_preinit_delay); /* Races with CPU hotplug. */
+       rcu_gp_slow(gp_preinit_delay); /* Races with CPU hotplug. */
 
        /*
         * Set the quiescent-state-needed bits in all the rcu_node
@@ -1933,7 +1933,7 @@ static bool rcu_gp_init(struct rcu_state *rsp)
         */
        rsp->gp_state = RCU_GP_INIT;
        rcu_for_each_node_breadth_first(rsp, rnp) {
-               rcu_gp_slow(rsp, gp_init_delay);
+               rcu_gp_slow(gp_init_delay);
                raw_spin_lock_irqsave_rcu_node(rnp, flags);
                rdp = this_cpu_ptr(&rcu_data);
                rcu_preempt_check_blocked_tasks(rsp, rnp);
@@ -2059,7 +2059,7 @@ static void rcu_gp_cleanup(struct rcu_state *rsp)
                rcu_nocb_gp_cleanup(sq);
                cond_resched_tasks_rcu_qs();
                WRITE_ONCE(rsp->gp_activity, jiffies);
-               rcu_gp_slow(rsp, gp_cleanup_delay);
+               rcu_gp_slow(gp_cleanup_delay);
        }
        rnp = rcu_get_root();
        raw_spin_lock_irq_rcu_node(rnp); /* GP before rsp->gp_seq update. */