diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2009-08-22 01:08:51 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-08-22 07:07:09 -0400 |
commit | b560d8ad8583803978aaaeba50ef29dc8e97a610 (patch) | |
tree | 2700931e04f0b446a7603e74706d6dd9c782eb84 | |
parent | 1423cc033df017c762a9155eec470da77a460141 (diff) |
rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP
A couple of references to CONFIG_CLASSIC_RCU have survived.
Although these are harmless, it is past time for them to go.
The one in hardirq.h is strictly a readability problem.
The two in pagemap.h appear to disable a !SMP performance
optimization (which this patch re-enables).
This does raise the issue as to whether pagemap.h should really
be referring to the CPU implementation. Long term, I intend to
make the RCU implementation driven by CONFIG_PREEMPT, at which
point these should change from defined(CONFIG_TREE_RCU) to
!defined(CONFIG_PREEMPT). In the meantime, is there something
else that could be done in pagemap.h?
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: akpm@linux-foundation.org
Cc: mathieu.desnoyers@polymtl.ca
Cc: josht@linux.vnet.ibm.com
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
LKML-Reference: <20090822050851.GA8414@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | include/linux/hardirq.h | 4 | ||||
-rw-r--r-- | include/linux/pagemap.h | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h index 8246c697863d..330cb31bb496 100644 --- a/include/linux/hardirq.h +++ b/include/linux/hardirq.h | |||
@@ -132,7 +132,7 @@ static inline void account_system_vtime(struct task_struct *tsk) | |||
132 | } | 132 | } |
133 | #endif | 133 | #endif |
134 | 134 | ||
135 | #if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU) | 135 | #if defined(CONFIG_NO_HZ) |
136 | extern void rcu_irq_enter(void); | 136 | extern void rcu_irq_enter(void); |
137 | extern void rcu_irq_exit(void); | 137 | extern void rcu_irq_exit(void); |
138 | extern void rcu_nmi_enter(void); | 138 | extern void rcu_nmi_enter(void); |
@@ -142,7 +142,7 @@ extern void rcu_nmi_exit(void); | |||
142 | # define rcu_irq_exit() do { } while (0) | 142 | # define rcu_irq_exit() do { } while (0) |
143 | # define rcu_nmi_enter() do { } while (0) | 143 | # define rcu_nmi_enter() do { } while (0) |
144 | # define rcu_nmi_exit() do { } while (0) | 144 | # define rcu_nmi_exit() do { } while (0) |
145 | #endif /* #if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU) */ | 145 | #endif /* #if defined(CONFIG_NO_HZ) */ |
146 | 146 | ||
147 | /* | 147 | /* |
148 | * It is safe to do non-atomic ops on ->hardirq_context, | 148 | * It is safe to do non-atomic ops on ->hardirq_context, |
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index aec3252afcf5..ed5d7501e181 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h | |||
@@ -132,7 +132,7 @@ static inline int page_cache_get_speculative(struct page *page) | |||
132 | { | 132 | { |
133 | VM_BUG_ON(in_interrupt()); | 133 | VM_BUG_ON(in_interrupt()); |
134 | 134 | ||
135 | #if !defined(CONFIG_SMP) && defined(CONFIG_CLASSIC_RCU) | 135 | #if !defined(CONFIG_SMP) && defined(CONFIG_TREE_RCU) |
136 | # ifdef CONFIG_PREEMPT | 136 | # ifdef CONFIG_PREEMPT |
137 | VM_BUG_ON(!in_atomic()); | 137 | VM_BUG_ON(!in_atomic()); |
138 | # endif | 138 | # endif |
@@ -170,7 +170,7 @@ static inline int page_cache_add_speculative(struct page *page, int count) | |||
170 | { | 170 | { |
171 | VM_BUG_ON(in_interrupt()); | 171 | VM_BUG_ON(in_interrupt()); |
172 | 172 | ||
173 | #if !defined(CONFIG_SMP) && defined(CONFIG_CLASSIC_RCU) | 173 | #if !defined(CONFIG_SMP) && defined(CONFIG_TREE_RCU) |
174 | # ifdef CONFIG_PREEMPT | 174 | # ifdef CONFIG_PREEMPT |
175 | VM_BUG_ON(!in_atomic()); | 175 | VM_BUG_ON(!in_atomic()); |
176 | # endif | 176 | # endif |