All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: mingo@kernel.org, jiangshanlai@gmail.com, dipankar@in.ibm.com,
	akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
	josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org,
	rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com,
	fweisbec@gmail.com, oleg@redhat.com, bobby.prani@gmail.com,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Subject: [PATCH v2 tip/core/rcu 04/39] srcu: Check for tardy grace-period activity in cleanup_srcu_struct()
Date: Mon, 17 Apr 2017 16:44:51 -0700	[thread overview]
Message-ID: <1492472726-3841-4-git-send-email-paulmck@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170417234452.GB19013@linux.vnet.ibm.com>

Users of SRCU are obliged to complete all grace-period activity before
invoking cleanup_srcu_struct().  This means that all calls to either
synchronize_srcu() or synchronize_srcu_expedited() must have returned,
and all calls to call_srcu() must have returned, and the last call to
call_srcu() must have been followed by a call to srcu_barrier().
Furthermore, the caller must have done something to prevent any
further calls to synchronize_srcu(), synchronize_srcu_expedited(),
and call_srcu().

Therefore, if there has ever been an invocation of call_srcu() on
the srcu_struct in question, the sequence of events must be as
follows:

1.  Prevent any further calls to call_srcu().
2.  Wait for any pre-existing call_srcu() invocations to return.
3.  Invoke srcu_barrier().
4.  It is now safe to invoke cleanup_srcu_struct().

On the other hand, if there has ever been a call to synchronize_srcu()
or synchronize_srcu_expedited(), the sequence of events must be as
follows:

1.  Prevent any further calls to synchronize_srcu() or
    synchronize_srcu_expedited().
2.  Wait for any pre-existing synchronize_srcu() or
    synchronize_srcu_expedited() invocations to return.
3.  It is now safe to invoke cleanup_srcu_struct().

If there have been calls to all both types of functions (call_srcu()
and either of synchronize_srcu() and synchronize_srcu_expedited()), then
the caller must do the first three steps of the call_srcu() procedure
above and the first two steps of the synchronize_s*() procedure above,
and only then invoke cleanup_srcu_struct().

Reported-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 kernel/rcu/srcu.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/kernel/rcu/srcu.c b/kernel/rcu/srcu.c
index ba41a5d04b49..6beeba7b0b67 100644
--- a/kernel/rcu/srcu.c
+++ b/kernel/rcu/srcu.c
@@ -261,6 +261,11 @@ void cleanup_srcu_struct(struct srcu_struct *sp)
 {
 	if (WARN_ON(srcu_readers_active(sp)))
 		return; /* Leakage unless caller handles error. */
+	if (WARN_ON(!rcu_all_batches_empty(sp)))
+		return; /* Leakage unless caller handles error. */
+	flush_delayed_work(&sp->work);
+	if (WARN_ON(sp->running))
+		return; /* Caller forgot to stop doing call_srcu()? */
 	free_percpu(sp->per_cpu_ref);
 	sp->per_cpu_ref = NULL;
 }
-- 
2.5.2

  parent reply	other threads:[~2017-04-17 23:54 UTC|newest]

Thread overview: 195+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-12 17:40 [PATCH tip/core/rcu 0/40] SRCU callback parallelization for 4.12 Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 01/40] rcu: Maintain special bits at bottom of ->dynticks counter Paul E. McKenney
2017-04-13  9:20   ` Peter Zijlstra
2017-04-13 16:15     ` Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 02/40] rcu: Make arch select smp_mb__after_unlock_lock() strength Paul E. McKenney
2017-04-13  9:21   ` Peter Zijlstra
2017-04-13 16:17     ` Paul E. McKenney
2017-04-13  9:24   ` Peter Zijlstra
2017-04-13 16:26     ` Paul E. McKenney
2017-04-13 16:37       ` Peter Zijlstra
2017-04-13 17:03         ` Paul E. McKenney
2017-04-19 13:38           ` Michael Ellerman
2017-04-19 15:09             ` Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 03/40] srcu: Consolidate batch checking into rcu_all_batches_empty() Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 04/40] srcu: Check for tardy grace-period activity in cleanup_srcu_struct() Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 05/40] rcu: Semicolon inside RCU_TRACE() for rcu.h Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 06/40] rcu: Semicolon inside RCU_TRACE() for Tiny RCU Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 07/40] rcu: Semicolon inside RCU_TRACE() for tree.c Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 08/40] rcu: Make call_rcu() do deferred NOCB wakeups Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 09/40] rcu: Make rcu_all_qs() " Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 10/40] rcu: Make rcu_note_context_switch() " Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 11/40] rcu: Pull rcu_sched_qs_mask into rcu_dynticks structure Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 12/40] rcu: Pull rcu_qs_ctr " Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 13/40] rcu: Eliminate flavor scan in rcu_momentary_dyntick_idle() Paul E. McKenney
2017-04-12 17:39 ` [PATCH tip/core/rcu 14/40] rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 15/40] rcu: Default RCU_FANOUT_LEAF to 16 unless explicitly changed Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 16/40] srcu: Abstract multi-tail callback list handling Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 17/40] srcu: Allow SRCU to access rcu_scheduler_active Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 18/40] srcu: Allow early boot use of synchronize_srcu() Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 19/40] rcu: Add single-element dequeue functions to rcu_segcblist Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 20/40] srcu: Move rcu_seq_start() and friends to rcu.h Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 21/40] rcu: Expedited wakeups need to be fully ordered Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 22/40] rcu: Fix warning in rcu_seq_end() Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 23/40] srcu: Push srcu_advance_batches() fastpath into common case Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 24/40] srcu: Move to state-based grace-period sequencing Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 25/40] srcu: Add grace-period sequence numbers Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 26/40] srcu: Use rcu_segcblist to track SRCU callbacks Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 27/40] srcu: Move combining-tree definitions for SRCU's benefit Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 28/40] srcu: Move rcu_init_levelspread() to rcu_tree_node.h Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 29/40] rcu: Remove redundant levelcnt[] array from rcu_init_one() Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 30/40] srcu: Move rcu_node traversal macros to rcu.h Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 31/40] srcu: Make num_rcu_lvl[] array be external Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 32/40] srcu: Fix bogus try_check_zero() comment Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 33/40] srcu: Improve rcu_seq grace-period-counter abstraction Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 34/40] srcu: Allow a second bit in rcu_seq for SRCU state Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 35/40] srcu: Merge ->srcu_state into ->srcu_gp_seq Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 36/40] srcu: Crude control of expedited grace periods Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 37/40] srcu: Create a tiny SRCU Paul E. McKenney
2017-04-13  9:48   ` Peter Zijlstra
2017-04-13 16:30     ` Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 38/40] srcutorture: Print Tiny SRCU reader statistics Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 39/40] srcu: Introduce CLASSIC_SRCU Kconfig option Paul E. McKenney
2017-04-12 17:40 ` [PATCH tip/core/rcu 40/40] srcu: Parallelize callback handling Paul E. McKenney
2017-04-13  9:50   ` Peter Zijlstra
2017-04-13 16:37     ` Paul E. McKenney
2017-04-13 17:42       ` Paul E. McKenney
2017-04-13  9:54   ` Peter Zijlstra
2017-04-13 16:50     ` Paul E. McKenney
2017-04-20  3:40   ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize callback handling) Michael Ellerman
2017-04-20  3:40     ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize callback Michael Ellerman
2017-04-20 14:19     ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize callback handling) Paul E. McKenney
2017-04-20 14:19       ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize call Paul E. McKenney
2017-04-20 15:28     ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize callback handling) Paolo Bonzini
2017-04-20 15:28       ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize call Paolo Bonzini
2017-04-21  0:38       ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize callback handling) Paul E. McKenney
2017-04-21  0:38         ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize call Paul E. McKenney
2017-04-21  1:42         ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize callback handling) Michael Ellerman
2017-04-21  1:42           ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize call Michael Ellerman
2017-04-21  4:17           ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize callback handling) Paul E. McKenney
2017-04-21  4:17             ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize call Paul E. McKenney
2017-04-21  7:27             ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize callback handling) Paolo Bonzini
2017-04-21  7:27               ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize call Paolo Bonzini
2017-04-21 12:51               ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize callback handling) Paul E. McKenney
2017-04-21 12:51                 ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize call Paul E. McKenney
2017-04-22  6:09                 ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize callback handling) Michael Ellerman
2017-04-22  6:09                   ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize call Michael Ellerman
2017-04-21  2:13       ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize callback handling) Michael Ellerman
2017-04-21  2:13         ` powerpc KVM build break in linux-next (was Re: [PATCH tip/core/rcu 40/40] srcu: Parallelize call Michael Ellerman
2017-04-17 23:44 ` [PATCH v2 tip/core/rcu 0/40] SRCU callback parallelization for 4.12 Paul E. McKenney
2017-04-17 23:44   ` [PATCH v2 tip/core/rcu 01/39] rcu: Maintain special bits at bottom of ->dynticks counter Paul E. McKenney
2017-04-18  0:07     ` Josh Triplett
2017-04-18 18:19       ` Paul E. McKenney
2017-04-17 23:44   ` [PATCH v2 tip/core/rcu 02/39] rcu: Make arch select smp_mb__after_unlock_lock() strength Paul E. McKenney
2017-04-18  0:19     ` Josh Triplett
2017-04-17 23:44   ` [PATCH v2 tip/core/rcu 03/39] srcu: Consolidate batch checking into rcu_all_batches_empty() Paul E. McKenney
2017-04-18  0:30     ` Josh Triplett
2017-04-17 23:44   ` Paul E. McKenney [this message]
2017-04-18  0:33     ` [PATCH v2 tip/core/rcu 04/39] srcu: Check for tardy grace-period activity in cleanup_srcu_struct() Josh Triplett
2017-04-18  0:34       ` Josh Triplett
2017-04-18 18:34         ` Paul E. McKenney
2017-04-18 19:44           ` Josh Triplett
2017-04-17 23:44   ` [PATCH v2 tip/core/rcu 05/39] rcu: Semicolon inside RCU_TRACE() for rcu.h Paul E. McKenney
2017-04-17 23:44   ` [PATCH v2 tip/core/rcu 06/39] rcu: Semicolon inside RCU_TRACE() for Tiny RCU Paul E. McKenney
2017-04-17 23:44   ` [PATCH v2 tip/core/rcu 07/39] rcu: Semicolon inside RCU_TRACE() for tree.c Paul E. McKenney
2017-04-17 23:44   ` [PATCH v2 tip/core/rcu 08/39] rcu: Pull rcu_sched_qs_mask into rcu_dynticks structure Paul E. McKenney
2017-04-17 23:44   ` [PATCH v2 tip/core/rcu 09/39] rcu: Pull rcu_qs_ctr " Paul E. McKenney
2017-04-17 23:44   ` [PATCH v2 tip/core/rcu 10/39] rcu: Eliminate flavor scan in rcu_momentary_dyntick_idle() Paul E. McKenney
2017-04-17 23:44   ` [PATCH v2 tip/core/rcu 11/39] rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions Paul E. McKenney
2017-04-17 23:44   ` [PATCH v2 tip/core/rcu 12/39] rcu: Default RCU_FANOUT_LEAF to 16 unless explicitly changed Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 13/39] srcu: Abstract multi-tail callback list handling Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 14/39] srcu: Allow SRCU to access rcu_scheduler_active Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 15/39] srcu: Allow early boot use of synchronize_srcu() Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 16/39] rcu: Add single-element dequeue functions to rcu_segcblist Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 17/39] srcu: Move rcu_seq_start() and friends to rcu.h Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 18/39] rcu: Expedited wakeups need to be fully ordered Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 19/39] rcu: Fix warning in rcu_seq_end() Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 20/39] srcu: Push srcu_advance_batches() fastpath into common case Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 21/39] srcu: Move to state-based grace-period sequencing Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 22/39] srcu: Add grace-period sequence numbers Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 23/39] srcu: Use rcu_segcblist to track SRCU callbacks Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 24/39] srcu: Move combining-tree definitions for SRCU's benefit Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 25/39] srcu: Move rcu_init_levelspread() to rcu_tree_node.h Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 26/39] rcu: Remove redundant levelcnt[] array from rcu_init_one() Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 27/39] srcu: Move rcu_node traversal macros to rcu.h Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 28/39] srcu: Make num_rcu_lvl[] array be external Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 29/39] srcu: Fix bogus try_check_zero() comment Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 30/39] srcu: Improve rcu_seq grace-period-counter abstraction Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 31/39] srcu: Allow a second bit in rcu_seq for SRCU state Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 32/39] srcu: Merge ->srcu_state into ->srcu_gp_seq Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 33/39] srcu: Crude control of expedited grace periods Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 34/39] mm: Use static initialization for "srcu" Paul E. McKenney
2017-04-17 23:45     ` Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 35/39] srcu: Create a tiny SRCU Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 36/39] srcutorture: Print Tiny SRCU reader statistics Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 37/39] srcu: Introduce CLASSIC_SRCU Kconfig option Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 38/39] srcu: Parallelize callback handling Paul E. McKenney
2017-04-17 23:45   ` [PATCH v2 tip/core/rcu 39/39] rcu: Make non-preemptive schedule be Tasks RCU quiescent state Paul E. McKenney
2017-04-19 16:58   ` [PATCH v3 tip/core/rcu 0/40] SRCU callback parallelization for 4.12 Paul E. McKenney
2017-04-19 16:57     ` [PATCH v3 tip/core/rcu 01/40] rcu: Maintain special bits at bottom of ->dynticks counter Paul E. McKenney
2017-04-19 16:57     ` [PATCH v3 tip/core/rcu 02/40] rcu: Make arch select smp_mb__after_unlock_lock() strength Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 03/40] srcu: Consolidate batch checking into rcu_all_batches_empty() Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 04/40] srcu: Check for tardy grace-period activity in cleanup_srcu_struct() Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 05/40] rcu: Semicolon inside RCU_TRACE() for rcu.h Paul E. McKenney
2017-04-19 17:41       ` Joe Perches
2017-04-25 21:00         ` Paul E. McKenney
2017-04-25 21:13       ` Steven Rostedt
2017-04-25 21:27         ` Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 06/40] rcu: Semicolon inside RCU_TRACE() for Tiny RCU Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 07/40] rcu: Semicolon inside RCU_TRACE() for tree.c Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 08/40] rcu: Pull rcu_sched_qs_mask into rcu_dynticks structure Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 09/40] rcu: Pull rcu_qs_ctr " Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 10/40] rcu: Eliminate flavor scan in rcu_momentary_dyntick_idle() Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 11/40] rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 12/40] rcu: Default RCU_FANOUT_LEAF to 16 unless explicitly changed Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 13/40] srcu: Abstract multi-tail callback list handling Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 14/40] srcu: Allow SRCU to access rcu_scheduler_active Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 15/40] srcu: Allow early boot use of synchronize_srcu() Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 16/40] rcu: Add single-element dequeue functions to rcu_segcblist Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 17/40] srcu: Move rcu_seq_start() and friends to rcu.h Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 18/40] rcu: Expedited wakeups need to be fully ordered Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 19/40] rcu: Fix warning in rcu_seq_end() Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 20/40] srcu: Push srcu_advance_batches() fastpath into common case Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 21/40] srcu: Move to state-based grace-period sequencing Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 22/40] srcu: Add grace-period sequence numbers Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 23/40] srcu: Use rcu_segcblist to track SRCU callbacks Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 24/40] srcu: Move combining-tree definitions for SRCU's benefit Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 25/40] srcu: Move rcu_init_levelspread() to rcu_tree_node.h Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 26/40] rcu: Remove redundant levelcnt[] array from rcu_init_one() Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 27/40] srcu: Move rcu_node traversal macros to rcu.h Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 28/40] srcu: Make num_rcu_lvl[] array be external Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 29/40] srcu: Fix bogus try_check_zero() comment Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 30/40] srcu: Improve rcu_seq grace-period-counter abstraction Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 31/40] srcu: Allow a second bit in rcu_seq for SRCU state Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 32/40] srcu: Merge ->srcu_state into ->srcu_gp_seq Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 33/40] srcu: Crude control of expedited grace periods Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 34/40] mm: Use static initialization for "srcu" Paul E. McKenney
2017-04-19 16:58       ` Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 35/40] srcu: Create a tiny SRCU Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 36/40] srcutorture: Print Tiny SRCU reader statistics Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 37/40] srcu: Introduce CLASSIC_SRCU Kconfig option Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 38/40] srcu: Parallelize callback handling Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 39/40] srcu: Expedite srcu_schedule_cbs_snp() callback invocation Paul E. McKenney
2017-04-19 16:58     ` [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule be Tasks RCU quiescent state Paul E. McKenney
2017-09-28  9:37       ` Sasha Levin
2017-09-28 12:30         ` Paul E. McKenney
2017-09-28 15:38           ` Levin, Alexander (Sasha Levin)
2017-09-28 16:05             ` Paul E. McKenney
2017-09-28 16:18               ` Peter Zijlstra
2017-09-28 16:30                 ` Paul E. McKenney
2017-09-29  9:30               ` Boqun Feng
2017-09-29  9:30                 ` Boqun Feng
2017-09-29 10:01                 ` Paolo Bonzini
2017-09-29 10:01                   ` Paolo Bonzini
2017-09-29 10:25                   ` Boqun Feng
2017-09-29 10:25                     ` Boqun Feng
2017-09-29 10:34                   ` Peter Zijlstra
2017-09-29 10:34                     ` Peter Zijlstra
2017-09-29 11:44                     ` Paolo Bonzini
2017-09-29 11:44                       ` Paolo Bonzini
2017-09-29 16:38                       ` Paul E. McKenney
2017-09-29 16:38                         ` Paul E. McKenney
2017-09-29 16:36                   ` Paul E. McKenney
2017-09-29 16:36                     ` Paul E. McKenney
2017-09-28 16:08             ` Peter Zijlstra
2017-09-28 16:23               ` Levin, Alexander (Sasha Levin)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1492472726-3841-4-git-send-email-paulmck@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=bobby.prani@gmail.com \
    --cc=dhowells@redhat.com \
    --cc=dipankar@in.ibm.com \
    --cc=edumazet@google.com \
    --cc=fweisbec@gmail.com \
    --cc=jiangshanlai@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@kernel.org \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.