]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - kernel/rcutree_plugin.h
rcu: Update RCU_FAST_NO_HZ tracing for lazy callbacks
[karo-tx-linux.git] / kernel / rcutree_plugin.h
index 2411000d98690aacd76d20acc039964402e83388..5449f02c48203441608d044372c3ab821b30dfff 100644 (file)
@@ -2165,15 +2165,17 @@ static void rcu_prepare_for_idle(int cpu)
                   !rcu_pending(cpu) &&
                   !local_softirq_pending()) {
                /* Can we go dyntick-idle despite still having callbacks? */
-               trace_rcu_prep_idle("Dyntick with callbacks");
                per_cpu(rcu_dyntick_drain, cpu) = 0;
                per_cpu(rcu_dyntick_holdoff, cpu) = jiffies;
-               if (rcu_cpu_has_nonlazy_callbacks(cpu))
+               if (rcu_cpu_has_nonlazy_callbacks(cpu)) {
+                       trace_rcu_prep_idle("Dyntick with callbacks");
                        per_cpu(rcu_idle_gp_timer_expires, cpu) =
                                           jiffies + RCU_IDLE_GP_DELAY;
-               else
+               } else {
                        per_cpu(rcu_idle_gp_timer_expires, cpu) =
                                           jiffies + RCU_IDLE_LAZY_GP_DELAY;
+                       trace_rcu_prep_idle("Dyntick with lazy callbacks");
+               }
                tp = &per_cpu(rcu_idle_gp_timer, cpu);
                mod_timer_pinned(tp, per_cpu(rcu_idle_gp_timer_expires, cpu));
                per_cpu(rcu_nonlazy_posted_snap, cpu) =