|
Dave Jones |
b5c25fa |
--- linux-2.6.35.noarch/kernel/rcutree.c~ 2011-08-22 10:46:35.518079924 -0400
|
|
Dave Jones |
b5c25fa |
+++ linux-2.6.35.noarch/kernel/rcutree.c 2011-08-22 10:46:47.151040660 -0400
|
|
Dave Jones |
b5c25fa |
@@ -1376,9 +1376,6 @@ static void rcu_process_callbacks(struct
|
|
Dave Jones |
b5c25fa |
* grace-period manipulations above.
|
|
Dave Jones |
b5c25fa |
*/
|
|
Dave Jones |
b5c25fa |
smp_mb(); /* See above block comment. */
|
|
Dave Jones |
b5c25fa |
-
|
|
Dave Jones |
b5c25fa |
- /* If we are last CPU on way to dyntick-idle mode, accelerate it. */
|
|
Dave Jones |
b5c25fa |
- rcu_needs_cpu_flush();
|
|
Dave Jones |
b5c25fa |
}
|
|
Dave Jones |
83a9139 |
|
|
Dave Jones |
b5c25fa |
static void
|
|
Dave Jones |
b5c25fa |
--- linux-2.6.35.noarch/kernel/rcutree.h~ 2011-08-22 10:48:36.063675727 -0400
|
|
Dave Jones |
b5c25fa |
+++ linux-2.6.35.noarch/kernel/rcutree.h 2011-08-22 10:48:43.639650514 -0400
|
|
Dave Jones |
b5c25fa |
@@ -384,6 +384,5 @@ static int rcu_preempt_needs_cpu(int cpu
|
|
Dave Jones |
b5c25fa |
static void __cpuinit rcu_preempt_init_percpu_data(int cpu);
|
|
Dave Jones |
b5c25fa |
static void rcu_preempt_send_cbs_to_orphanage(void);
|
|
Dave Jones |
b5c25fa |
static void __init __rcu_init_preempt(void);
|
|
Dave Jones |
b5c25fa |
-static void rcu_needs_cpu_flush(void);
|
|
Dave Jones |
b5c25fa |
|
|
Dave Jones |
b5c25fa |
#endif /* #ifndef RCU_TREE_NONCORE */
|
|
Dave Jones |
b5c25fa |
--- a/kernel/rcutree_plugin.h
|
|
Dave Jones |
b5c25fa |
+++ a/kernel/rcutree_plugin.h
|
|
Dave Jones |
b5c25fa |
@@ -1954,15 +1954,6 @@ int rcu_needs_cpu(int cpu)
|
|
Dave Jones |
b5c25fa |
return rcu_needs_cpu_quick_check(cpu);
|
|
Dave Jones |
b5c25fa |
}
|
|
Dave Jones |
b5c25fa |
|
|
Dave Jones |
b5c25fa |
-/*
|
|
Dave Jones |
b5c25fa |
- * Check to see if we need to continue a callback-flush operations to
|
|
Dave Jones |
b5c25fa |
- * allow the last CPU to enter dyntick-idle mode. But fast dyntick-idle
|
|
Dave Jones |
b5c25fa |
- * entry is not configured, so we never do need to.
|
|
Dave Jones |
b5c25fa |
- */
|
|
Dave Jones |
b5c25fa |
-static void rcu_needs_cpu_flush(void)
|
|
Dave Jones |
b5c25fa |
-{
|
|
Dave Jones |
b5c25fa |
-}
|
|
Dave Jones |
b5c25fa |
-
|
|
Dave Jones |
b5c25fa |
#else /* #if !defined(CONFIG_RCU_FAST_NO_HZ) */
|
|
Dave Jones |
b5c25fa |
|
|
Dave Jones |
b5c25fa |
#define RCU_NEEDS_CPU_FLUSHES 5
|
|
Dave Jones |
b5c25fa |
@@ -2039,20 +2030,4 @@ int rcu_needs_cpu(int cpu)
|
|
Dave Jones |
b5c25fa |
return c;
|
|
Dave Jones |
b5c25fa |
}
|
|
Dave Jones |
b5c25fa |
|
|
Dave Jones |
b5c25fa |
-/*
|
|
Dave Jones |
b5c25fa |
- * Check to see if we need to continue a callback-flush operations to
|
|
Dave Jones |
b5c25fa |
- * allow the last CPU to enter dyntick-idle mode.
|
|
Dave Jones |
b5c25fa |
- */
|
|
Dave Jones |
b5c25fa |
-static void rcu_needs_cpu_flush(void)
|
|
Dave Jones |
b5c25fa |
-{
|
|
Dave Jones |
b5c25fa |
- int cpu = smp_processor_id();
|
|
Dave Jones |
b5c25fa |
- unsigned long flags;
|
|
Dave Jones |
b5c25fa |
-
|
|
Dave Jones |
b5c25fa |
- if (per_cpu(rcu_dyntick_drain, cpu) <= 0)
|
|
Dave Jones |
b5c25fa |
- return;
|
|
Dave Jones |
b5c25fa |
- local_irq_save(flags);
|
|
Dave Jones |
b5c25fa |
- (void)rcu_needs_cpu(cpu);
|
|
Dave Jones |
b5c25fa |
- local_irq_restore(flags);
|
|
Dave Jones |
b5c25fa |
-}
|
|
Dave Jones |
b5c25fa |
-
|
|
Dave Jones |
b5c25fa |
#endif /* #else #if !defined(CONFIG_RCU_FAST_NO_HZ) */
|