* [PATCH -tip/core/rcu] expunge lingering references to CONFIG_CLASSIC_RCU
@ 2009-08-22 5:08 Paul E. McKenney
2009-08-22 11:33 ` [tip:core/rcu] rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP tip-bot for Paul E. McKenney
0 siblings, 1 reply; 2+ messages in thread
From: Paul E. McKenney @ 2009-08-22 5:08 UTC (permalink / raw)
To: linux-kernel
Cc: mingo, laijs, dipankar, akpm, mathieu.desnoyers, josht, dvhltc,
niv, tglx, peterz, rostedt
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>
---
hardirq.h | 4 ++--
pagemap.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h
index 8246c69..330cb31 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)
}
#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,
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index aec3252..ed5d750 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)
{
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [tip:core/rcu] rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP
2009-08-22 5:08 [PATCH -tip/core/rcu] expunge lingering references to CONFIG_CLASSIC_RCU Paul E. McKenney
@ 2009-08-22 11:33 ` tip-bot for Paul E. McKenney
0 siblings, 0 replies; 2+ messages in thread
From: tip-bot for Paul E. McKenney @ 2009-08-22 11:33 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, paulmck, hpa, mingo, tglx, mingo
Commit-ID: b560d8ad8583803978aaaeba50ef29dc8e97a610
Gitweb: http://git.kernel.org/tip/b560d8ad8583803978aaaeba50ef29dc8e97a610
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
AuthorDate: Fri, 21 Aug 2009 22:08:51 -0700
Committer: Ingo Molnar <mingo@elte.hu>
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?
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>
---
include/linux/hardirq.h | 4 ++--
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 8246c69..330cb31 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)
}
#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,
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index aec3252..ed5d750 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)
{
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-08-22 11:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-22 5:08 [PATCH -tip/core/rcu] expunge lingering references to CONFIG_CLASSIC_RCU Paul E. McKenney
2009-08-22 11:33 ` [tip:core/rcu] rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP tip-bot for Paul E. McKenney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox