expunge lingering references to CONFIG_CLASSIC_RCU
PATCH 1/1 expunge lingering references to CONFIG_CLASSIC_RCU
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?
---
hardirq.h | 4 ++-- pagemap.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
include/linux/hardirq.h +2 -2
@@ -132,7 +132,7 @@ static inline void account_system_vtime(struct task_struct *tsk) }#endif -#if defined(CONFIG_NO_HZ ) && !defined(CONFIG_CLASSIC_RCU ) +#if defined(CONFIG_NO_HZ )extern void rcu_irq_enter (void );extern void rcu_irq_exit (void );extern void rcu_nmi_enter (void );
@@ -142,7 +142,7 @@ extern void rcu_nmi_exit(void);# define rcu_irq_exit () do { } while (0)# define rcu_nmi_enter () do { } while (0)# define rcu_nmi_exit () do { } while (0) -#endif /* #if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU) */ +#endif /* #if defined(CONFIG_NO_HZ) */ /* * It is safe to do non-atomic ops on ->hardirq_context,
include/linux/pagemap.h +2 -2
@@ -132,7 +132,7 @@ static inline int page_cache_get_speculative(struct page *page) {VM_BUG_ON (in_interrupt ()); -#if !defined(CONFIG_SMP ) && defined(CONFIG_CLASSIC_RCU ) +#if !defined(CONFIG_SMP ) && defined(CONFIG_TREE_RCU )# ifdef CONFIG_PREEMPT VM_BUG_ON (!in_atomic ());# endif
@@ -170,7 +170,7 @@ static inline int page_cache_add_speculative(struct page *page, int count) {VM_BUG_ON (in_interrupt ()); -#if !defined(CONFIG_SMP ) && defined(CONFIG_CLASSIC_RCU ) +#if !defined(CONFIG_SMP ) && defined(CONFIG_TREE_RCU )# ifdef CONFIG_PREEMPT VM_BUG_ON (!in_atomic ());# endif
[tip:core/rcu] rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP
Commit-ID: b560d8ad8583803978aaaeba50ef29dc8e97a610 Gitweb: http://git.kernel.org/tip/b560d8ad8583803978aaaeba50ef29dc8e97a610 Author: Paul E. McKenney <[email protected]> AuthorDate: Fri, 21 Aug 2009 22:08:51 -0700 Committer: Ingo Molnar <[email protected]> CommitDate: Sat, 22 Aug 2009 13:07:09 +0200
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?
LKML-Reference: <[email protected]>
--- include/linux/hardirq.h | 4 ++-- include/linux/pagemap.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
include/linux/hardirq.h +2 -2
@@ -132,7 +132,7 @@ static inline void account_system_vtime(struct task_struct *tsk) }#endif -#if defined(CONFIG_NO_HZ ) && !defined(CONFIG_CLASSIC_RCU ) +#if defined(CONFIG_NO_HZ )extern void rcu_irq_enter (void );extern void rcu_irq_exit (void );extern void rcu_nmi_enter (void );
@@ -142,7 +142,7 @@ extern void rcu_nmi_exit(void);# define rcu_irq_exit () do { } while (0)# define rcu_nmi_enter () do { } while (0)# define rcu_nmi_exit () do { } while (0) -#endif /* #if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU) */ +#endif /* #if defined(CONFIG_NO_HZ) */ /* * It is safe to do non-atomic ops on ->hardirq_context,
include/linux/pagemap.h +2 -2
@@ -132,7 +132,7 @@ static inline int page_cache_get_speculative(struct page *page) {VM_BUG_ON (in_interrupt ()); -#if !defined(CONFIG_SMP ) && defined(CONFIG_CLASSIC_RCU ) +#if !defined(CONFIG_SMP ) && defined(CONFIG_TREE_RCU )# ifdef CONFIG_PREEMPT VM_BUG_ON (!in_atomic ());# endif
@@ -170,7 +170,7 @@ static inline int page_cache_add_speculative(struct page *page, int count) {VM_BUG_ON (in_interrupt ()); -#if !defined(CONFIG_SMP ) && defined(CONFIG_CLASSIC_RCU ) +#if !defined(CONFIG_SMP ) && defined(CONFIG_TREE_RCU )# ifdef CONFIG_PREEMPT VM_BUG_ON (!in_atomic ());# endif