All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH tip/core/rcu 0/3] rcu: fix !PREEMPT, __mpol_dup(), and ftrace_perf_buf_prepare() RCU lockdep splats
@ 2010-03-04  1:50 Paul E. McKenney
  2010-03-04  1:50 ` [PATCH tip/core/rcu 1/3] rcu: Make rcu_read_lock_sched_held() handle !PREEMPT Paul E. McKenney
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Paul E. McKenney @ 2010-03-04  1:50 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, laijs, dipankar, akpm, mathieu.desnoyers, josh, dvhltc,
	niv, tglx, peterz, rostedt, Valdis.Kletnieks, dhowells

Hello!

This patch fixes three RCU lockdep issues:

1.	Makes rcu_read_lock_sched_held() correctly handle !PREEMPT
	kernels.

2.	Suppresses __mpol_dup() false positive.

3.	Converts a pair of rcu_dereference() calls in
	ftrace_perf_buf_prepare() to rcu_dereference_sched().

There are probably more where these came from.  ;-)

							Thanx, Paul

------------------------------------------------------------------------

 include/linux/rcupdate.h           |   15 ++++++++++++++-
 include/trace/ftrace.h             |    4 ++--
 kernel/trace/trace_event_profile.c |    5 ++---
 mm/mempolicy.c                     |    3 ++-
 4 files changed, 20 insertions(+), 7 deletions(-)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH tip/core/rcu 1/3] rcu: Make rcu_read_lock_sched_held() handle !PREEMPT
  2010-03-04  1:50 [PATCH tip/core/rcu 0/3] rcu: fix !PREEMPT, __mpol_dup(), and ftrace_perf_buf_prepare() RCU lockdep splats Paul E. McKenney
@ 2010-03-04  1:50 ` Paul E. McKenney
  2010-03-04 16:32   ` [tip:core/urgent] " tip-bot for Paul E. McKenney
  2010-03-04  1:50 ` [PATCH tip/core/rcu 2/3] rcu: suppress __mpol_dup() false positive from RCU lockdep Paul E. McKenney
  2010-03-04  1:50 ` [PATCH tip/core/rcu 3/3] rcu, ftrace: fix RCU lockdep splat in ftrace_perf_buf_prepare() Paul E. McKenney
  2 siblings, 1 reply; 8+ messages in thread
From: Paul E. McKenney @ 2010-03-04  1:50 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, laijs, dipankar, akpm, mathieu.desnoyers, josh, dvhltc,
	niv, tglx, peterz, rostedt, Valdis.Kletnieks, dhowells,
	Paul E. McKenney

The rcu_read_lock_sched_held() needs to unconditionally return the value
"1" in a !PREEMPT kernel, because under !PREEMPT, -all- kernel code is
implicitly preempt-disabled.  This patch makes this happen.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 include/linux/rcupdate.h |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index fb80ce3..e0da43e 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -147,6 +147,7 @@ static inline int rcu_read_lock_bh_held(void)
  *
  * Check rcu_scheduler_active to prevent false positives during boot.
  */
+#ifdef CONFIG_PREEMPT
 static inline int rcu_read_lock_sched_held(void)
 {
 	int lockdep_opinion = 0;
@@ -157,6 +158,12 @@ static inline int rcu_read_lock_sched_held(void)
 		lockdep_opinion = lock_is_held(&rcu_sched_lock_map);
 	return lockdep_opinion || preempt_count() != 0;
 }
+#else /* #ifdef CONFIG_PREEMPT */
+static inline int rcu_read_lock_sched_held(void)
+{
+	return 1;
+}
+#endif /* #else #ifdef CONFIG_PREEMPT */
 
 #else /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */
 
@@ -181,10 +188,17 @@ static inline int rcu_read_lock_bh_held(void)
 	return 1;
 }
 
+#ifdef CONFIG_PREEMPT
 static inline int rcu_read_lock_sched_held(void)
 {
 	return !rcu_scheduler_active || preempt_count() != 0;
 }
+#else /* #ifdef CONFIG_PREEMPT */
+static inline int rcu_read_lock_sched_held(void)
+{
+	return 1;
+}
+#endif /* #else #ifdef CONFIG_PREEMPT */
 
 #endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */
 
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH tip/core/rcu 2/3] rcu: suppress __mpol_dup() false positive from RCU lockdep
  2010-03-04  1:50 [PATCH tip/core/rcu 0/3] rcu: fix !PREEMPT, __mpol_dup(), and ftrace_perf_buf_prepare() RCU lockdep splats Paul E. McKenney
  2010-03-04  1:50 ` [PATCH tip/core/rcu 1/3] rcu: Make rcu_read_lock_sched_held() handle !PREEMPT Paul E. McKenney
@ 2010-03-04  1:50 ` Paul E. McKenney
  2010-03-04 16:32   ` [tip:core/urgent] rcu: Suppress " tip-bot for Paul E. McKenney
  2010-03-04  1:50 ` [PATCH tip/core/rcu 3/3] rcu, ftrace: fix RCU lockdep splat in ftrace_perf_buf_prepare() Paul E. McKenney
  2 siblings, 1 reply; 8+ messages in thread
From: Paul E. McKenney @ 2010-03-04  1:50 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, laijs, dipankar, akpm, mathieu.desnoyers, josh, dvhltc,
	niv, tglx, peterz, rostedt, Valdis.Kletnieks, dhowells,
	Paul E. McKenney, Paul Menage

Common code is used during task creation and after the task has started
running.  RCU protection is not needed during task creation because no
other CPU has access to the under-construction task.  Provide the RCU
protection anyway to suppress the false positive, as there does not
appear to be a good way for the common code to recognize that the task
is only accessible to the CPU creating it.

Cc: Paul Menage <menage@google.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 mm/mempolicy.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 290fb5b..3cec080 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -1730,10 +1730,12 @@ struct mempolicy *__mpol_dup(struct mempolicy *old)
 
 	if (!new)
 		return ERR_PTR(-ENOMEM);
+	rcu_read_lock();
 	if (current_cpuset_is_being_rebound()) {
 		nodemask_t mems = cpuset_mems_allowed(current);
 		mpol_rebind_policy(old, &mems);
 	}
+	rcu_read_unlock();
 	*new = *old;
 	atomic_set(&new->refcnt, 1);
 	return new;
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH tip/core/rcu 3/3] rcu, ftrace: fix RCU lockdep splat in ftrace_perf_buf_prepare()
  2010-03-04  1:50 [PATCH tip/core/rcu 0/3] rcu: fix !PREEMPT, __mpol_dup(), and ftrace_perf_buf_prepare() RCU lockdep splats Paul E. McKenney
  2010-03-04  1:50 ` [PATCH tip/core/rcu 1/3] rcu: Make rcu_read_lock_sched_held() handle !PREEMPT Paul E. McKenney
  2010-03-04  1:50 ` [PATCH tip/core/rcu 2/3] rcu: suppress __mpol_dup() false positive from RCU lockdep Paul E. McKenney
@ 2010-03-04  1:50 ` Paul E. McKenney
  2010-03-04  3:55   ` Frederic Weisbecker
  2010-03-04 16:33   ` [tip:core/urgent] rcu, ftrace: Fix " tip-bot for Paul E. McKenney
  2 siblings, 2 replies; 8+ messages in thread
From: Paul E. McKenney @ 2010-03-04  1:50 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, laijs, dipankar, akpm, mathieu.desnoyers, josh, dvhltc,
	niv, tglx, peterz, rostedt, Valdis.Kletnieks, dhowells,
	Paul E. McKenney, Frederic Weisbecker, Ingo Molnar

Change the pair of rcu_dereference() calls in ftrace_perf_buf_prepare()
to rcu_dereference_sched().

Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 include/trace/ftrace.h             |    4 ++--
 kernel/trace/trace_event_profile.c |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h
index 0804cd5..601ad77 100644
--- a/include/trace/ftrace.h
+++ b/include/trace/ftrace.h
@@ -699,9 +699,9 @@ __attribute__((section("_ftrace_events"))) event_##call = {		\
  *	__cpu = smp_processor_id();
  *
  *	if (in_nmi())
- *		trace_buf = rcu_dereference(perf_trace_buf_nmi);
+ *		trace_buf = rcu_dereference_sched(perf_trace_buf_nmi);
  *	else
- *		trace_buf = rcu_dereference(perf_trace_buf);
+ *		trace_buf = rcu_dereference_sched(perf_trace_buf);
  *
  *	if (!trace_buf)
  *		goto end;
diff --git a/kernel/trace/trace_event_profile.c b/kernel/trace/trace_event_profile.c
index f0d6930..c1cc3ab 100644
--- a/kernel/trace/trace_event_profile.c
+++ b/kernel/trace/trace_event_profile.c
@@ -138,9 +138,9 @@ __kprobes void *ftrace_perf_buf_prepare(int size, unsigned short type,
 	cpu = smp_processor_id();
 
 	if (in_nmi())
-		trace_buf = rcu_dereference(perf_trace_buf_nmi);
+		trace_buf = rcu_dereference_sched(perf_trace_buf_nmi);
 	else
-		trace_buf = rcu_dereference(perf_trace_buf);
+		trace_buf = rcu_dereference_sched(perf_trace_buf);
 
 	if (!trace_buf)
 		goto err;
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH tip/core/rcu 3/3] rcu, ftrace: fix RCU lockdep splat in ftrace_perf_buf_prepare()
  2010-03-04  1:50 ` [PATCH tip/core/rcu 3/3] rcu, ftrace: fix RCU lockdep splat in ftrace_perf_buf_prepare() Paul E. McKenney
@ 2010-03-04  3:55   ` Frederic Weisbecker
  2010-03-04 16:33   ` [tip:core/urgent] rcu, ftrace: Fix " tip-bot for Paul E. McKenney
  1 sibling, 0 replies; 8+ messages in thread
From: Frederic Weisbecker @ 2010-03-04  3:55 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: linux-kernel, mingo, laijs, dipankar, akpm, mathieu.desnoyers,
	josh, dvhltc, niv, tglx, peterz, rostedt, Valdis.Kletnieks,
	dhowells, Ingo Molnar

On Wed, Mar 03, 2010 at 05:50:18PM -0800, Paul E. McKenney wrote:
> Change the pair of rcu_dereference() calls in ftrace_perf_buf_prepare()
> to rcu_dereference_sched().
> 
> Cc: Steven Rostedt <rostedt@goodmis.org>


Acked-by: Frederic Weisbecker <fweisbec@gmail.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [tip:core/urgent] rcu: Make rcu_read_lock_sched_held() handle !PREEMPT
  2010-03-04  1:50 ` [PATCH tip/core/rcu 1/3] rcu: Make rcu_read_lock_sched_held() handle !PREEMPT Paul E. McKenney
@ 2010-03-04 16:32   ` tip-bot for Paul E. McKenney
  0 siblings, 0 replies; 8+ messages in thread
From: tip-bot for Paul E. McKenney @ 2010-03-04 16:32 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, paulmck, hpa, mingo, tglx, mingo

Commit-ID:  e6033e3b307fcfae08408e0673266db38392bda4
Gitweb:     http://git.kernel.org/tip/e6033e3b307fcfae08408e0673266db38392bda4
Author:     Paul E. McKenney <paulmck@linux.vnet.ibm.com>
AuthorDate: Wed, 3 Mar 2010 17:50:16 -0800
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Thu, 4 Mar 2010 12:07:33 +0100

rcu: Make rcu_read_lock_sched_held() handle !PREEMPT

The rcu_read_lock_sched_held() needs to unconditionally return
the value "1" in a !PREEMPT kernel, because under !PREEMPT,
-all- kernel code is implicitly preempt-disabled.  This patch
makes this happen.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: mathieu.desnoyers@polymtl.ca
Cc: josh@joshtriplett.org
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: Valdis.Kletnieks@vt.edu
Cc: dhowells@redhat.com
LKML-Reference: <1267667418-32233-1-git-send-email-paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 include/linux/rcupdate.h |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index c843736..e22960e 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -136,6 +136,7 @@ static inline int rcu_read_lock_bh_held(void)
  * can prove otherwise.  Note that disabling of preemption (including
  * disabling irqs) counts as an RCU-sched read-side critical section.
  */
+#ifdef CONFIG_PREEMPT
 static inline int rcu_read_lock_sched_held(void)
 {
 	int lockdep_opinion = 0;
@@ -144,6 +145,12 @@ static inline int rcu_read_lock_sched_held(void)
 		lockdep_opinion = lock_is_held(&rcu_sched_lock_map);
 	return lockdep_opinion || preempt_count() != 0 || !rcu_scheduler_active;
 }
+#else /* #ifdef CONFIG_PREEMPT */
+static inline int rcu_read_lock_sched_held(void)
+{
+	return 1;
+}
+#endif /* #else #ifdef CONFIG_PREEMPT */
 
 #else /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */
 
@@ -164,10 +171,17 @@ static inline int rcu_read_lock_bh_held(void)
 	return 1;
 }
 
+#ifdef CONFIG_PREEMPT
 static inline int rcu_read_lock_sched_held(void)
 {
 	return preempt_count() != 0 || !rcu_scheduler_active;
 }
+#else /* #ifdef CONFIG_PREEMPT */
+static inline int rcu_read_lock_sched_held(void)
+{
+	return 1;
+}
+#endif /* #else #ifdef CONFIG_PREEMPT */
 
 #endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */
 

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [tip:core/urgent] rcu: Suppress __mpol_dup() false positive from RCU lockdep
  2010-03-04  1:50 ` [PATCH tip/core/rcu 2/3] rcu: suppress __mpol_dup() false positive from RCU lockdep Paul E. McKenney
@ 2010-03-04 16:32   ` tip-bot for Paul E. McKenney
  0 siblings, 0 replies; 8+ messages in thread
From: tip-bot for Paul E. McKenney @ 2010-03-04 16:32 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, paulmck, hpa, mingo, tglx, mingo, menage

Commit-ID:  99ee4ca746dda71326db7645463b4075ac1d665c
Gitweb:     http://git.kernel.org/tip/99ee4ca746dda71326db7645463b4075ac1d665c
Author:     Paul E. McKenney <paulmck@linux.vnet.ibm.com>
AuthorDate: Wed, 3 Mar 2010 17:50:17 -0800
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Thu, 4 Mar 2010 12:07:34 +0100

rcu: Suppress __mpol_dup() false positive from RCU lockdep

Common code is used during task creation and after the task has
started running.  RCU protection is not needed during task
creation because no other CPU has access to the
under-construction task.  Provide the RCU protection anyway to
suppress the false positive, as there does not appear to be a
good way for the common code to recognize that the task is only
accessible to the CPU creating it.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Paul Menage <menage@google.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: mathieu.desnoyers@polymtl.ca
Cc: josh@joshtriplett.org
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: Valdis.Kletnieks@vt.edu
Cc: dhowells@redhat.com
LKML-Reference: <1267667418-32233-2-git-send-email-paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 mm/mempolicy.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 290fb5b..3cec080 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -1730,10 +1730,12 @@ struct mempolicy *__mpol_dup(struct mempolicy *old)
 
 	if (!new)
 		return ERR_PTR(-ENOMEM);
+	rcu_read_lock();
 	if (current_cpuset_is_being_rebound()) {
 		nodemask_t mems = cpuset_mems_allowed(current);
 		mpol_rebind_policy(old, &mems);
 	}
+	rcu_read_unlock();
 	*new = *old;
 	atomic_set(&new->refcnt, 1);
 	return new;

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [tip:core/urgent] rcu, ftrace: Fix RCU lockdep splat in ftrace_perf_buf_prepare()
  2010-03-04  1:50 ` [PATCH tip/core/rcu 3/3] rcu, ftrace: fix RCU lockdep splat in ftrace_perf_buf_prepare() Paul E. McKenney
  2010-03-04  3:55   ` Frederic Weisbecker
@ 2010-03-04 16:33   ` tip-bot for Paul E. McKenney
  1 sibling, 0 replies; 8+ messages in thread
From: tip-bot for Paul E. McKenney @ 2010-03-04 16:33 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, paulmck, hpa, mingo, fweisbec, rostedt, tglx, mingo

Commit-ID:  8d53dd546f36073e0d29b0cfc24c665db301e3e7
Gitweb:     http://git.kernel.org/tip/8d53dd546f36073e0d29b0cfc24c665db301e3e7
Author:     Paul E. McKenney <paulmck@linux.vnet.ibm.com>
AuthorDate: Wed, 3 Mar 2010 17:50:18 -0800
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Thu, 4 Mar 2010 12:07:35 +0100

rcu, ftrace: Fix RCU lockdep splat in ftrace_perf_buf_prepare()

Change the pair of rcu_dereference() calls in
ftrace_perf_buf_prepare() to rcu_dereference_sched().

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: mathieu.desnoyers@polymtl.ca
Cc: josh@joshtriplett.org
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: Valdis.Kletnieks@vt.edu
Cc: dhowells@redhat.com
Cc: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <1267667418-32233-3-git-send-email-paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 include/trace/ftrace.h             |    4 ++--
 kernel/trace/trace_event_profile.c |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h
index 0804cd5..601ad77 100644
--- a/include/trace/ftrace.h
+++ b/include/trace/ftrace.h
@@ -699,9 +699,9 @@ __attribute__((section("_ftrace_events"))) event_##call = {		\
  *	__cpu = smp_processor_id();
  *
  *	if (in_nmi())
- *		trace_buf = rcu_dereference(perf_trace_buf_nmi);
+ *		trace_buf = rcu_dereference_sched(perf_trace_buf_nmi);
  *	else
- *		trace_buf = rcu_dereference(perf_trace_buf);
+ *		trace_buf = rcu_dereference_sched(perf_trace_buf);
  *
  *	if (!trace_buf)
  *		goto end;
diff --git a/kernel/trace/trace_event_profile.c b/kernel/trace/trace_event_profile.c
index f0d6930..c1cc3ab 100644
--- a/kernel/trace/trace_event_profile.c
+++ b/kernel/trace/trace_event_profile.c
@@ -138,9 +138,9 @@ __kprobes void *ftrace_perf_buf_prepare(int size, unsigned short type,
 	cpu = smp_processor_id();
 
 	if (in_nmi())
-		trace_buf = rcu_dereference(perf_trace_buf_nmi);
+		trace_buf = rcu_dereference_sched(perf_trace_buf_nmi);
 	else
-		trace_buf = rcu_dereference(perf_trace_buf);
+		trace_buf = rcu_dereference_sched(perf_trace_buf);
 
 	if (!trace_buf)
 		goto err;

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-03-04 16:33 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-04  1:50 [PATCH tip/core/rcu 0/3] rcu: fix !PREEMPT, __mpol_dup(), and ftrace_perf_buf_prepare() RCU lockdep splats Paul E. McKenney
2010-03-04  1:50 ` [PATCH tip/core/rcu 1/3] rcu: Make rcu_read_lock_sched_held() handle !PREEMPT Paul E. McKenney
2010-03-04 16:32   ` [tip:core/urgent] " tip-bot for Paul E. McKenney
2010-03-04  1:50 ` [PATCH tip/core/rcu 2/3] rcu: suppress __mpol_dup() false positive from RCU lockdep Paul E. McKenney
2010-03-04 16:32   ` [tip:core/urgent] rcu: Suppress " tip-bot for Paul E. McKenney
2010-03-04  1:50 ` [PATCH tip/core/rcu 3/3] rcu, ftrace: fix RCU lockdep splat in ftrace_perf_buf_prepare() Paul E. McKenney
2010-03-04  3:55   ` Frederic Weisbecker
2010-03-04 16:33   ` [tip:core/urgent] rcu, ftrace: Fix " tip-bot for Paul E. McKenney

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.