]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - kernel/rcutree.c
rcu: Eliminate local variable signaled from force_quiescent_state()
[mirror_ubuntu-zesty-kernel.git] / kernel / rcutree.c
index 41688ff60e0729b8486961b176b18240284e547f..1d8cfb1711fdbd432835ff8b625836a972497af2 100644 (file)
@@ -1193,7 +1193,6 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed)
        unsigned long flags;
        long lastcomp;
        struct rcu_node *rnp = rcu_get_root(rsp);
-       u8 signaled;
        u8 forcenow;
        u8 gpdone;
 
@@ -1209,7 +1208,6 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed)
        rsp->n_force_qs++;
        spin_lock(&rnp->lock);  /* irqs already disabled */
        lastcomp = rsp->gpnum - 1;
-       signaled = rsp->signaled;
        rsp->jiffies_force_qs = jiffies + RCU_JIFFIES_TILL_FORCE_QS;
        if(!rcu_gp_in_progress(rsp)) {
                rsp->n_force_qs_ngp++;
@@ -1217,7 +1215,7 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed)
                goto unlock_fqs_ret;  /* no GP in progress, time updated. */
        }
        rsp->fqs_active = 1;
-       switch (signaled) {
+       switch (rsp->signaled) {
        case RCU_GP_IDLE:
        case RCU_GP_INIT:
 
@@ -1242,11 +1240,10 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed)
                /* Update state, record completion counter. */
                forcenow = 0;
                if (lastcomp + 1 == rsp->gpnum &&
-                   lastcomp == rsp->completed &&
-                   rsp->signaled == signaled) {
+                   lastcomp == rsp->completed) {
+                       forcenow = rsp->signaled == RCU_SAVE_COMPLETED;
                        rsp->signaled = RCU_FORCE_QS;
                        rsp->completed_fqs = lastcomp;
-                       forcenow = signaled == RCU_SAVE_COMPLETED;
                }
                if (!forcenow)
                        break;