27b62b6
diff --git a/kernel/rcutree.c b/kernel/rcutree.c
27b62b6
index ba06207..c38a882 100644
27b62b6
--- a/kernel/rcutree.c
27b62b6
+++ b/kernel/rcutree.c
27b62b6
@@ -1476,9 +1476,6 @@ static void rcu_process_callbacks(struct softirq_action *unused)
27b62b6
 				&__get_cpu_var(rcu_sched_data));
27b62b6
 	__rcu_process_callbacks(&rcu_bh_state, &__get_cpu_var(rcu_bh_data));
27b62b6
 	rcu_preempt_process_callbacks();
27b62b6
-
27b62b6
-	/* If we are last CPU on way to dyntick-idle mode, accelerate it. */
27b62b6
-	rcu_needs_cpu_flush();
27b62b6
 }
27b62b6
 
27b62b6
 /*
27b62b6
diff --git a/kernel/rcutree.h b/kernel/rcutree.h
27b62b6
index 01b2ccd..795f7fc 100644
27b62b6
--- a/kernel/rcutree.h
27b62b6
+++ b/kernel/rcutree.h
27b62b6
@@ -450,7 +450,6 @@ static int rcu_preempt_needs_cpu(int cpu);
27b62b6
 static void __cpuinit rcu_preempt_init_percpu_data(int cpu);
27b62b6
 static void rcu_preempt_send_cbs_to_online(void);
27b62b6
 static void __init __rcu_init_preempt(void);
27b62b6
-static void rcu_needs_cpu_flush(void);
27b62b6
 static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags);
27b62b6
 static void rcu_preempt_boost_start_gp(struct rcu_node *rnp);
27b62b6
 static void invoke_rcu_callbacks_kthread(void);
27b62b6
diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h
27b62b6
index 8aafbb8..b0254de 100644
27b62b6
--- a/kernel/rcutree_plugin.h
27b62b6
+++ b/kernel/rcutree_plugin.h
27b62b6
@@ -1907,15 +1907,6 @@ int rcu_needs_cpu(int cpu)
27b62b6
 	return rcu_needs_cpu_quick_check(cpu);
27b62b6
 }
27b62b6
 
27b62b6
-/*
27b62b6
- * Check to see if we need to continue a callback-flush operations to
27b62b6
- * allow the last CPU to enter dyntick-idle mode.  But fast dyntick-idle
27b62b6
- * entry is not configured, so we never do need to.
27b62b6
- */
27b62b6
-static void rcu_needs_cpu_flush(void)
27b62b6
-{
27b62b6
-}
27b62b6
-
27b62b6
 #else /* #if !defined(CONFIG_RCU_FAST_NO_HZ) */
27b62b6
 
27b62b6
 #define RCU_NEEDS_CPU_FLUSHES 5
27b62b6
@@ -1991,20 +1982,4 @@ int rcu_needs_cpu(int cpu)
27b62b6
 	return c;
27b62b6
 }
27b62b6
 
27b62b6
-/*
27b62b6
- * Check to see if we need to continue a callback-flush operations to
27b62b6
- * allow the last CPU to enter dyntick-idle mode.
27b62b6
- */
27b62b6
-static void rcu_needs_cpu_flush(void)
27b62b6
-{
27b62b6
-	int cpu = smp_processor_id();
27b62b6
-	unsigned long flags;
27b62b6
-
27b62b6
-	if (per_cpu(rcu_dyntick_drain, cpu) <= 0)
27b62b6
-		return;
27b62b6
-	local_irq_save(flags);
27b62b6
-	(void)rcu_needs_cpu(cpu);
27b62b6
-	local_irq_restore(flags);
27b62b6
-}
27b62b6
-
27b62b6
 #endif /* #else #if !defined(CONFIG_RCU_FAST_NO_HZ) */