linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6
@ 2019-12-10  4:07 Paul E. McKenney
  2019-12-10  4:07 ` [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected() paulmck
                   ` (11 more replies)
  0 siblings, 12 replies; 22+ messages in thread
From: Paul E. McKenney @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel

Hello!

This series provides miscellaneous fixes:

1.	Remove rcu_swap_protected().

2.	Mark non-global functions and variables as static.

3.	Fix harmless omission of "CONFIG_" from #if condition, courtesy
	of Lai Jiangshan.

4.	Fix tracepoint tracking RCU CPU kthread utilization, courtesy
	of Lai Jiangshan.

5.	Remove the declaration of call_rcu() in tree.h, courtesy of
	Lai Jiangshan.

6.	Move gp_state_names[] and gp_state_getname() to tree_stall.h,
	courtesy of Lai Jiangshan.

7.	Move rcu_{expedited,normal} definitions into rcupdate.h,
	courtesy of Ben Dooks.

8.	Switch force_qs_rnp() to for_each_leaf_node_cpu_mask().

9.	Apply *_ONCE() to ->srcu_last_gp_end.

10.	Add .mailmap entries for old paulmck@kernel.org addresses.

11.	Remove comment about read_barrier_depends(), courtesy of
	Will Deacon.

12.	Remove unused stop-machine #include.

							Thanx, Paul

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

 .mailmap                           |    5 +++++
 arch/powerpc/include/asm/barrier.h |    2 --
 include/linux/rcupdate.h           |   20 ++++----------------
 kernel/rcu/rcu.h                   |    4 ++--
 kernel/rcu/srcutree.c              |    7 ++++---
 kernel/rcu/tree.c                  |   34 ++++++++++------------------------
 kernel/rcu/tree.h                  |   16 ----------------
 kernel/rcu/tree_stall.h            |   22 ++++++++++++++++++++++
 kernel/rcu/update.c                |    2 --
 9 files changed, 47 insertions(+), 65 deletions(-)

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

* [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected()
  2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
@ 2019-12-10  4:07 ` paulmck
  2019-12-11  3:35   ` Martin K. Petersen
  2019-12-10  4:07 ` [PATCH tip/core/rcu 02/12] rcu: Mark non-global functions and variables as static paulmck
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 22+ messages in thread
From: paulmck @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Paul E. McKenney,
	Bart Van Assche, Christoph Hellwig, Hannes Reinecke,
	Johannes Thumshirn, Shane M Seymour, Martin K . Petersen

From: "Paul E. McKenney" <paulmck@kernel.org>

Now that the calls to rcu_swap_protected() have been replaced by
rcu_replace_pointer(), this commit removes rcu_swap_protected().

Link: https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4gg6Hw@mail.gmail.com/
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: Bart Van Assche <bart.vanassche@wdc.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Johannes Thumshirn <jthumshirn@suse.de>
Cc: Shane M Seymour <shane.seymour@hpe.com>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
---
 include/linux/rcupdate.h | 16 ----------------
 1 file changed, 16 deletions(-)

diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index 0b75063..fe47024 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -401,22 +401,6 @@ do {									      \
 })
 
 /**
- * rcu_swap_protected() - swap an RCU and a regular pointer
- * @rcu_ptr: RCU pointer
- * @ptr: regular pointer
- * @c: the conditions under which the dereference will take place
- *
- * Perform swap(@rcu_ptr, @ptr) where @rcu_ptr is an RCU-annotated pointer and
- * @c is the argument that is passed to the rcu_dereference_protected() call
- * used to read that pointer.
- */
-#define rcu_swap_protected(rcu_ptr, ptr, c) do {			\
-	typeof(ptr) __tmp = rcu_dereference_protected((rcu_ptr), (c));	\
-	rcu_assign_pointer((rcu_ptr), (ptr));				\
-	(ptr) = __tmp;							\
-} while (0)
-
-/**
  * rcu_access_pointer() - fetch RCU pointer with no dereferencing
  * @p: The pointer to read
  *
-- 
2.9.5


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

* [PATCH tip/core/rcu 02/12] rcu: Mark non-global functions and variables as static
  2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
  2019-12-10  4:07 ` [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected() paulmck
@ 2019-12-10  4:07 ` paulmck
  2019-12-10  4:07 ` [PATCH tip/core/rcu 03/12] rcu: Fix harmless omission of "CONFIG_" from #if condition paulmck
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 22+ messages in thread
From: paulmck @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Paul E. McKenney

From: "Paul E. McKenney" <paulmck@kernel.org>

Each of rcu_state, rcu_rnp_online_cpus(), rcu_dynticks_curr_cpu_in_eqs(),
and rcu_dynticks_snap() are used only in the kernel/rcu/tree.o translation
unit, and may thus be marked static.  This commit therefore makes this
change.

Reported-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
---
 kernel/rcu/tree.c | 8 ++++----
 kernel/rcu/tree.h | 2 --
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 1694a6b..dd8cfc3 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -84,7 +84,7 @@ static DEFINE_PER_CPU_SHARED_ALIGNED(struct rcu_data, rcu_data) = {
 	.dynticks_nmi_nesting = DYNTICK_IRQ_NONIDLE,
 	.dynticks = ATOMIC_INIT(RCU_DYNTICK_CTRL_CTR),
 };
-struct rcu_state rcu_state = {
+static struct rcu_state rcu_state = {
 	.level = { &rcu_state.node[0] },
 	.gp_state = RCU_GP_IDLE,
 	.gp_seq = (0UL - 300UL) << RCU_SEQ_CTR_SHIFT,
@@ -188,7 +188,7 @@ EXPORT_SYMBOL_GPL(rcu_get_gp_kthreads_prio);
  * held, but the bit corresponding to the current CPU will be stable
  * in most contexts.
  */
-unsigned long rcu_rnp_online_cpus(struct rcu_node *rnp)
+static unsigned long rcu_rnp_online_cpus(struct rcu_node *rnp)
 {
 	return READ_ONCE(rnp->qsmaskinitnext);
 }
@@ -294,7 +294,7 @@ static void rcu_dynticks_eqs_online(void)
  *
  * No ordering, as we are sampling CPU-local information.
  */
-bool rcu_dynticks_curr_cpu_in_eqs(void)
+static bool rcu_dynticks_curr_cpu_in_eqs(void)
 {
 	struct rcu_data *rdp = this_cpu_ptr(&rcu_data);
 
@@ -305,7 +305,7 @@ bool rcu_dynticks_curr_cpu_in_eqs(void)
  * Snapshot the ->dynticks counter with full ordering so as to allow
  * stable comparison of this counter with past and future snapshots.
  */
-int rcu_dynticks_snap(struct rcu_data *rdp)
+static int rcu_dynticks_snap(struct rcu_data *rdp)
 {
 	int snap = atomic_add_return(0, &rdp->dynticks);
 
diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h
index 055c317..e4dc5de 100644
--- a/kernel/rcu/tree.h
+++ b/kernel/rcu/tree.h
@@ -403,8 +403,6 @@ static const char *tp_rcu_varname __used __tracepoint_string = rcu_name;
 #define RCU_NAME rcu_name
 #endif /* #else #ifdef CONFIG_TRACING */
 
-int rcu_dynticks_snap(struct rcu_data *rdp);
-
 /* Forward declarations for tree_plugin.h */
 static void rcu_bootup_announce(void);
 static void rcu_qs(void);
-- 
2.9.5


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

* [PATCH tip/core/rcu 03/12] rcu: Fix harmless omission of "CONFIG_" from #if condition
  2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
  2019-12-10  4:07 ` [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected() paulmck
  2019-12-10  4:07 ` [PATCH tip/core/rcu 02/12] rcu: Mark non-global functions and variables as static paulmck
@ 2019-12-10  4:07 ` paulmck
  2019-12-10  4:07 ` [PATCH tip/core/rcu 04/12] rcu: Fix tracepoint tracking RCU CPU kthread utilization paulmck
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 22+ messages in thread
From: paulmck @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Lai Jiangshan, Paul E . McKenney

From: Lai Jiangshan <laijs@linux.alibaba.com>

The C preprocessor macros SRCU and TINY_RCU should instead be CONFIG_SRCU
and CONFIG_TINY_RCU, respectively in the #f in kernel/rcu/rcu.h. But
there is no harm when "TINY_RCU" is wrongly used, which are always
non-defined, which makes "!defined(TINY_RCU)" always true, which means
the code block is always included, and the included code block doesn't
cause any compilation error so far in CONFIG_TINY_RCU builds.  It is
also the reason this change should not be taken in -stable.

This commit adds the needed "CONFIG_" prefix to both macros.

Not for -stable.

Signed-off-by: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 kernel/rcu/rcu.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/rcu/rcu.h b/kernel/rcu/rcu.h
index ab504fb..4732594 100644
--- a/kernel/rcu/rcu.h
+++ b/kernel/rcu/rcu.h
@@ -281,7 +281,7 @@ void rcu_test_sync_prims(void);
  */
 extern void resched_cpu(int cpu);
 
-#if defined(SRCU) || !defined(TINY_RCU)
+#if defined(CONFIG_SRCU) || !defined(CONFIG_TINY_RCU)
 
 #include <linux/rcu_node_tree.h>
 
@@ -418,7 +418,7 @@ do {									\
 #define raw_lockdep_assert_held_rcu_node(p)				\
 	lockdep_assert_held(&ACCESS_PRIVATE(p, lock))
 
-#endif /* #if defined(SRCU) || !defined(TINY_RCU) */
+#endif /* #if defined(CONFIG_SRCU) || !defined(CONFIG_TINY_RCU) */
 
 #ifdef CONFIG_SRCU
 void srcu_init(void);
-- 
2.9.5


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

* [PATCH tip/core/rcu 04/12] rcu: Fix tracepoint tracking RCU CPU kthread utilization
  2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
                   ` (2 preceding siblings ...)
  2019-12-10  4:07 ` [PATCH tip/core/rcu 03/12] rcu: Fix harmless omission of "CONFIG_" from #if condition paulmck
@ 2019-12-10  4:07 ` paulmck
  2019-12-10  4:07 ` [PATCH tip/core/rcu 05/12] rcu: Remove the declaration of call_rcu() in tree.h paulmck
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 22+ messages in thread
From: paulmck @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Lai Jiangshan, Paul E . McKenney

From: Lai Jiangshan <laijs@linux.alibaba.com>

In the call to trace_rcu_utilization() at the start of the loop in
rcu_cpu_kthread(), "rcu_wait" is incorrect, plus this trace event needs
to be hoisted above the loop to balance with either the "rcu_wait" or
"rcu_yield", depending on how the loop exits.  This commit therefore
makes these changes.

Signed-off-by: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 kernel/rcu/tree.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index dd8cfc3..ba154a3 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -2474,8 +2474,8 @@ static void rcu_cpu_kthread(unsigned int cpu)
 	char work, *workp = this_cpu_ptr(&rcu_data.rcu_cpu_has_work);
 	int spincnt;
 
+	trace_rcu_utilization(TPS("Start CPU kthread@rcu_run"));
 	for (spincnt = 0; spincnt < 10; spincnt++) {
-		trace_rcu_utilization(TPS("Start CPU kthread@rcu_wait"));
 		local_bh_disable();
 		*statusp = RCU_KTHREAD_RUNNING;
 		local_irq_disable();
-- 
2.9.5


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

* [PATCH tip/core/rcu 05/12] rcu: Remove the declaration of call_rcu() in tree.h
  2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
                   ` (3 preceding siblings ...)
  2019-12-10  4:07 ` [PATCH tip/core/rcu 04/12] rcu: Fix tracepoint tracking RCU CPU kthread utilization paulmck
@ 2019-12-10  4:07 ` paulmck
  2019-12-10  4:07 ` [PATCH tip/core/rcu 06/12] rcu: Move gp_state_names[] and gp_state_getname() to tree_stall.h paulmck
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 22+ messages in thread
From: paulmck @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Lai Jiangshan, Paul E . McKenney

From: Lai Jiangshan <laijs@linux.alibaba.com>

The call_rcu() function is an external RCU API that is declared in
include/linux/rcupdate.h.  There is thus no point in redeclaring it
in kernel/rcu/tree.h, so this commit removes that redundant declaration.

Signed-off-by: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 kernel/rcu/tree.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h
index e4dc5de..54ff989 100644
--- a/kernel/rcu/tree.h
+++ b/kernel/rcu/tree.h
@@ -413,7 +413,6 @@ static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
 static int rcu_print_task_exp_stall(struct rcu_node *rnp);
 static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp);
 static void rcu_flavor_sched_clock_irq(int user);
-void call_rcu(struct rcu_head *head, rcu_callback_t func);
 static void dump_blkd_tasks(struct rcu_node *rnp, int ncheck);
 static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags);
 static void rcu_preempt_boost_start_gp(struct rcu_node *rnp);
-- 
2.9.5


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

* [PATCH tip/core/rcu 06/12] rcu: Move gp_state_names[] and gp_state_getname() to tree_stall.h
  2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
                   ` (4 preceding siblings ...)
  2019-12-10  4:07 ` [PATCH tip/core/rcu 05/12] rcu: Remove the declaration of call_rcu() in tree.h paulmck
@ 2019-12-10  4:07 ` paulmck
  2019-12-10  4:07 ` [PATCH tip/core/rcu 07/12] rcu: Move rcu_{expedited,normal} definitions into rcupdate.h paulmck
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 22+ messages in thread
From: paulmck @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Lai Jiangshan, Paul E . McKenney

From: Lai Jiangshan <laijs@linux.alibaba.com>

Only tree_stall.h needs to get name from GP state, so this commit
moves the gp_state_names[] array and the gp_state_getname()
from kernel/rcu/tree.h and kernel/rcu/tree.c, respectively, to
kernel/rcu/tree_stall.h.  While moving gp_state_names[], this commit
uses the GCC syntax to ensure that the right string is associated with
the right CPP macro.

Signed-off-by: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 kernel/rcu/tree.c       | 10 ----------
 kernel/rcu/tree.h       | 12 ------------
 kernel/rcu/tree_stall.h | 22 ++++++++++++++++++++++
 3 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index ba154a3..bbb60ed 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -529,16 +529,6 @@ static struct rcu_node *rcu_get_root(void)
 }
 
 /*
- * Convert a ->gp_state value to a character string.
- */
-static const char *gp_state_getname(short gs)
-{
-	if (gs < 0 || gs >= ARRAY_SIZE(gp_state_names))
-		return "???";
-	return gp_state_names[gs];
-}
-
-/*
  * Send along grace-period-related data for rcutorture diagnostics.
  */
 void rcutorture_get_gp_data(enum rcutorture_type test_type, int *flags,
diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h
index 54ff989..9d5986a 100644
--- a/kernel/rcu/tree.h
+++ b/kernel/rcu/tree.h
@@ -368,18 +368,6 @@ struct rcu_state {
 #define RCU_GP_CLEANUP   7	/* Grace-period cleanup started. */
 #define RCU_GP_CLEANED   8	/* Grace-period cleanup complete. */
 
-static const char * const gp_state_names[] = {
-	"RCU_GP_IDLE",
-	"RCU_GP_WAIT_GPS",
-	"RCU_GP_DONE_GPS",
-	"RCU_GP_ONOFF",
-	"RCU_GP_INIT",
-	"RCU_GP_WAIT_FQS",
-	"RCU_GP_DOING_FQS",
-	"RCU_GP_CLEANUP",
-	"RCU_GP_CLEANED",
-};
-
 /*
  * In order to export the rcu_state name to the tracing tools, it
  * needs to be added in the __tracepoint_string section.
diff --git a/kernel/rcu/tree_stall.h b/kernel/rcu/tree_stall.h
index c0b8c45..f18adaf 100644
--- a/kernel/rcu/tree_stall.h
+++ b/kernel/rcu/tree_stall.h
@@ -279,6 +279,28 @@ static void print_cpu_stall_fast_no_hz(char *cp, int cpu)
 
 #endif /* #else #ifdef CONFIG_RCU_FAST_NO_HZ */
 
+static const char * const gp_state_names[] = {
+	[RCU_GP_IDLE] = "RCU_GP_IDLE",
+	[RCU_GP_WAIT_GPS] = "RCU_GP_WAIT_GPS",
+	[RCU_GP_DONE_GPS] = "RCU_GP_DONE_GPS",
+	[RCU_GP_ONOFF] = "RCU_GP_ONOFF",
+	[RCU_GP_INIT] = "RCU_GP_INIT",
+	[RCU_GP_WAIT_FQS] = "RCU_GP_WAIT_FQS",
+	[RCU_GP_DOING_FQS] = "RCU_GP_DOING_FQS",
+	[RCU_GP_CLEANUP] = "RCU_GP_CLEANUP",
+	[RCU_GP_CLEANED] = "RCU_GP_CLEANED",
+};
+
+/*
+ * Convert a ->gp_state value to a character string.
+ */
+static const char *gp_state_getname(short gs)
+{
+	if (gs < 0 || gs >= ARRAY_SIZE(gp_state_names))
+		return "???";
+	return gp_state_names[gs];
+}
+
 /*
  * Print out diagnostic information for the specified stalled CPU.
  *
-- 
2.9.5


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

* [PATCH tip/core/rcu 07/12] rcu: Move rcu_{expedited,normal} definitions into rcupdate.h
  2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
                   ` (5 preceding siblings ...)
  2019-12-10  4:07 ` [PATCH tip/core/rcu 06/12] rcu: Move gp_state_names[] and gp_state_getname() to tree_stall.h paulmck
@ 2019-12-10  4:07 ` paulmck
  2019-12-10  4:07 ` [PATCH tip/core/rcu 08/12] rcu: Switch force_qs_rnp() to for_each_leaf_node_cpu_mask() paulmck
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 22+ messages in thread
From: paulmck @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Ben Dooks, Paul E . McKenney

From: Ben Dooks <ben.dooks@codethink.co.uk>

This commit moves the rcu_{expedited,normal} definitions from
kernel/rcu/update.c to include/linux/rcupdate.h to make sure they are
in sync, and also to avoid the following warning from sparse:

kernel/ksysfs.c:150:5: warning: symbol 'rcu_expedited' was not declared. Should it be static?
kernel/ksysfs.c:167:5: warning: symbol 'rcu_normal' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 include/linux/rcupdate.h | 4 ++++
 kernel/rcu/update.c      | 2 --
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index fe47024..bb363796 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -896,4 +896,8 @@ rcu_head_after_call_rcu(struct rcu_head *rhp, rcu_callback_t f)
 	return false;
 }
 
+/* kernel/ksysfs.c definitions */
+extern int rcu_expedited;
+extern int rcu_normal;
+
 #endif /* __LINUX_RCUPDATE_H */
diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c
index 1861103..294d357 100644
--- a/kernel/rcu/update.c
+++ b/kernel/rcu/update.c
@@ -51,9 +51,7 @@
 #define MODULE_PARAM_PREFIX "rcupdate."
 
 #ifndef CONFIG_TINY_RCU
-extern int rcu_expedited; /* from sysctl */
 module_param(rcu_expedited, int, 0);
-extern int rcu_normal; /* from sysctl */
 module_param(rcu_normal, int, 0);
 static int rcu_normal_after_boot;
 module_param(rcu_normal_after_boot, int, 0);
-- 
2.9.5


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

* [PATCH tip/core/rcu 08/12] rcu: Switch force_qs_rnp() to for_each_leaf_node_cpu_mask()
  2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
                   ` (6 preceding siblings ...)
  2019-12-10  4:07 ` [PATCH tip/core/rcu 07/12] rcu: Move rcu_{expedited,normal} definitions into rcupdate.h paulmck
@ 2019-12-10  4:07 ` paulmck
  2019-12-10  4:07 ` [PATCH tip/core/rcu 09/12] srcu: Apply *_ONCE() to ->srcu_last_gp_end paulmck
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 22+ messages in thread
From: paulmck @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Paul E. McKenney

From: "Paul E. McKenney" <paulmck@kernel.org>

Currently, force_qs_rnp() uses a for_each_leaf_node_possible_cpu()
loop containing a check of the current CPU's bit in ->qsmask.
This works, but this commit saves three lines by instead using
for_each_leaf_node_cpu_mask(), which combines the functionality of
for_each_leaf_node_possible_cpu() and leaf_node_cpu_bit().  This commit
also replaces the use of the local variable "bit" with rdp->grpmask.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 kernel/rcu/tree.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index bbb60ed..d950764 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -2298,14 +2298,11 @@ static void force_qs_rnp(int (*f)(struct rcu_data *rdp))
 			raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
 			continue;
 		}
-		for_each_leaf_node_possible_cpu(rnp, cpu) {
-			unsigned long bit = leaf_node_cpu_bit(rnp, cpu);
-			if ((rnp->qsmask & bit) != 0) {
-				rdp = per_cpu_ptr(&rcu_data, cpu);
-				if (f(rdp)) {
-					mask |= bit;
-					rcu_disable_urgency_upon_qs(rdp);
-				}
+		for_each_leaf_node_cpu_mask(rnp, cpu, rnp->qsmask) {
+			rdp = per_cpu_ptr(&rcu_data, cpu);
+			if (f(rdp)) {
+				mask |= rdp->grpmask;
+				rcu_disable_urgency_upon_qs(rdp);
 			}
 		}
 		if (mask != 0) {
-- 
2.9.5


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

* [PATCH tip/core/rcu 09/12] srcu: Apply *_ONCE() to ->srcu_last_gp_end
  2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
                   ` (7 preceding siblings ...)
  2019-12-10  4:07 ` [PATCH tip/core/rcu 08/12] rcu: Switch force_qs_rnp() to for_each_leaf_node_cpu_mask() paulmck
@ 2019-12-10  4:07 ` paulmck
  2019-12-10  4:07 ` [PATCH tip/core/rcu 10/12] .mailmap: Add entries for old paulmck@kernel.org addresses paulmck
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 22+ messages in thread
From: paulmck @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Paul E. McKenney

From: "Paul E. McKenney" <paulmck@kernel.org>

The ->srcu_last_gp_end field is accessed from any CPU at any time
by synchronize_srcu(), so non-initialization references need to use
READ_ONCE() and WRITE_ONCE().  This commit therefore makes that change.

Reported-by: syzbot+08f3e9d26e5541e1ecf2@syzkaller.appspotmail.com
Acked-by: Marco Elver <elver@google.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 kernel/rcu/srcutree.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c
index 5dffade..21acdff 100644
--- a/kernel/rcu/srcutree.c
+++ b/kernel/rcu/srcutree.c
@@ -530,7 +530,7 @@ static void srcu_gp_end(struct srcu_struct *ssp)
 	idx = rcu_seq_state(ssp->srcu_gp_seq);
 	WARN_ON_ONCE(idx != SRCU_STATE_SCAN2);
 	cbdelay = srcu_get_delay(ssp);
-	ssp->srcu_last_gp_end = ktime_get_mono_fast_ns();
+	WRITE_ONCE(ssp->srcu_last_gp_end, ktime_get_mono_fast_ns());
 	rcu_seq_end(&ssp->srcu_gp_seq);
 	gpseq = rcu_seq_current(&ssp->srcu_gp_seq);
 	if (ULONG_CMP_LT(ssp->srcu_gp_seq_needed_exp, gpseq))
@@ -762,6 +762,7 @@ static bool srcu_might_be_idle(struct srcu_struct *ssp)
 	unsigned long flags;
 	struct srcu_data *sdp;
 	unsigned long t;
+	unsigned long tlast;
 
 	/* If the local srcu_data structure has callbacks, not idle.  */
 	local_irq_save(flags);
@@ -780,9 +781,9 @@ static bool srcu_might_be_idle(struct srcu_struct *ssp)
 
 	/* First, see if enough time has passed since the last GP. */
 	t = ktime_get_mono_fast_ns();
+	tlast = READ_ONCE(ssp->srcu_last_gp_end);
 	if (exp_holdoff == 0 ||
-	    time_in_range_open(t, ssp->srcu_last_gp_end,
-			       ssp->srcu_last_gp_end + exp_holdoff))
+	    time_in_range_open(t, tlast, tlast + exp_holdoff))
 		return false; /* Too soon after last GP. */
 
 	/* Next, check for probable idleness. */
-- 
2.9.5


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

* [PATCH tip/core/rcu 10/12] .mailmap: Add entries for old paulmck@kernel.org addresses
  2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
                   ` (8 preceding siblings ...)
  2019-12-10  4:07 ` [PATCH tip/core/rcu 09/12] srcu: Apply *_ONCE() to ->srcu_last_gp_end paulmck
@ 2019-12-10  4:07 ` paulmck
  2019-12-11 19:03   ` Florian Fainelli
  2019-12-10  4:07 ` [PATCH tip/core/rcu 11/12] powerpc: Remove comment about read_barrier_depends() paulmck
  2019-12-10  4:07 ` [PATCH tip/core/rcu 12/12] rcu: Remove unused stop-machine #include paulmck
  11 siblings, 1 reply; 22+ messages in thread
From: paulmck @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Paul E. McKenney

From: "Paul E. McKenney" <paulmck@kernel.org>

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 .mailmap | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/.mailmap b/.mailmap
index c24773d..5f330c5 100644
--- a/.mailmap
+++ b/.mailmap
@@ -207,6 +207,11 @@ Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
 Patrick Mochel <mochel@digitalimplant.org>
 Paul Burton <paulburton@kernel.org> <paul.burton@imgtec.com>
 Paul Burton <paulburton@kernel.org> <paul.burton@mips.com>
+Paul Burton <paul.burton@mips.com> <paul.burton@imgtec.com>
+Paul E. McKenney <paulmck@kernel.org> <paulmck@linux.ibm.com>
+Paul E. McKenney <paulmck@kernel.org> <paulmck@linux.vnet.ibm.com>
+Paul E. McKenney <paulmck@kernel.org> <paul.mckenney@linaro.org>
+Paul E. McKenney <paulmck@kernel.org> <paulmck@us.ibm.com>
 Peter A Jonsson <pj@ludd.ltu.se>
 Peter Oruba <peter@oruba.de>
 Peter Oruba <peter.oruba@amd.com>
-- 
2.9.5


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

* [PATCH tip/core/rcu 11/12] powerpc: Remove comment about read_barrier_depends()
  2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
                   ` (9 preceding siblings ...)
  2019-12-10  4:07 ` [PATCH tip/core/rcu 10/12] .mailmap: Add entries for old paulmck@kernel.org addresses paulmck
@ 2019-12-10  4:07 ` paulmck
  2019-12-10  4:07 ` [PATCH tip/core/rcu 12/12] rcu: Remove unused stop-machine #include paulmck
  11 siblings, 0 replies; 22+ messages in thread
From: paulmck @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Will Deacon, Paul E . McKenney

From: Will Deacon <will@kernel.org>

'read_barrier_depends()' doesn't exist anymore so stop talking about it.

Signed-off-by: Will Deacon <will@kernel.org>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 arch/powerpc/include/asm/barrier.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/powerpc/include/asm/barrier.h b/arch/powerpc/include/asm/barrier.h
index fbe8df4..123adce 100644
--- a/arch/powerpc/include/asm/barrier.h
+++ b/arch/powerpc/include/asm/barrier.h
@@ -18,8 +18,6 @@
  * mb() prevents loads and stores being reordered across this point.
  * rmb() prevents loads being reordered across this point.
  * wmb() prevents stores being reordered across this point.
- * read_barrier_depends() prevents data-dependent loads being reordered
- *	across this point (nop on PPC).
  *
  * *mb() variants without smp_ prefix must order all types of memory
  * operations with one another. sync is the only instruction sufficient
-- 
2.9.5


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

* [PATCH tip/core/rcu 12/12] rcu: Remove unused stop-machine #include
  2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
                   ` (10 preceding siblings ...)
  2019-12-10  4:07 ` [PATCH tip/core/rcu 11/12] powerpc: Remove comment about read_barrier_depends() paulmck
@ 2019-12-10  4:07 ` paulmck
  11 siblings, 0 replies; 22+ messages in thread
From: paulmck @ 2019-12-10  4:07 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Paul E. McKenney

From: "Paul E. McKenney" <paulmck@kernel.org>

Long ago, RCU used the stop-machine mechanism to implement expedited
grace periods, but no longer does so.  This commit therefore removes
the no-longer-needed #includes of linux/stop_machine.h.

Link: https://lwn.net/Articles/805317/
Reported-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 kernel/rcu/tree.c | 1 -
 kernel/rcu/tree.h | 1 -
 2 files changed, 2 deletions(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index d950764..878f62f 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -43,7 +43,6 @@
 #include <uapi/linux/sched/types.h>
 #include <linux/prefetch.h>
 #include <linux/delay.h>
-#include <linux/stop_machine.h>
 #include <linux/random.h>
 #include <linux/trace_events.h>
 #include <linux/suspend.h>
diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h
index 9d5986a..ce90c68 100644
--- a/kernel/rcu/tree.h
+++ b/kernel/rcu/tree.h
@@ -16,7 +16,6 @@
 #include <linux/cpumask.h>
 #include <linux/seqlock.h>
 #include <linux/swait.h>
-#include <linux/stop_machine.h>
 #include <linux/rcu_node_tree.h>
 
 #include "rcu_segcblist.h"
-- 
2.9.5


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

* Re: [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected()
  2019-12-10  4:07 ` [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected() paulmck
@ 2019-12-11  3:35   ` Martin K. Petersen
  2019-12-11  3:51     ` Paul E. McKenney
  0 siblings, 1 reply; 22+ messages in thread
From: Martin K. Petersen @ 2019-12-11  3:35 UTC (permalink / raw)
  To: paulmck
  Cc: rcu, linux-kernel, kernel-team, mingo, jiangshanlai, dipankar,
	akpm, mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Bart Van Assche,
	Christoph Hellwig, Hannes Reinecke, Johannes Thumshirn,
	Shane M Seymour, Martin K . Petersen


Paul,

> Now that the calls to rcu_swap_protected() have been replaced by
> rcu_replace_pointer(), this commit removes rcu_swap_protected().

It appears there are two callers remaining in Linus' master. Otherwise
looks good to me.

Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>

-- 
Martin K. Petersen	Oracle Linux Engineering

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

* Re: [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected()
  2019-12-11  3:35   ` Martin K. Petersen
@ 2019-12-11  3:51     ` Paul E. McKenney
  2019-12-11 18:37       ` Paul E. McKenney
  0 siblings, 1 reply; 22+ messages in thread
From: Paul E. McKenney @ 2019-12-11  3:51 UTC (permalink / raw)
  To: Martin K. Petersen
  Cc: rcu, linux-kernel, kernel-team, mingo, jiangshanlai, dipankar,
	akpm, mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Bart Van Assche,
	Christoph Hellwig, Hannes Reinecke, Johannes Thumshirn,
	Shane M Seymour

On Tue, Dec 10, 2019 at 10:35:49PM -0500, Martin K. Petersen wrote:
> 
> Paul,
> 
> > Now that the calls to rcu_swap_protected() have been replaced by
> > rcu_replace_pointer(), this commit removes rcu_swap_protected().
> 
> It appears there are two callers remaining in Linus' master. Otherwise
> looks good to me.

I did queue a fix for one of them, and thank you for calling my
attention to the new one.  This commit should hit -next soon, so
hopefully this will discourage further additions.  ;-)

> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>

Thank you!

							Thanx, Paul

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

* Re: [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected()
  2019-12-11  3:51     ` Paul E. McKenney
@ 2019-12-11 18:37       ` Paul E. McKenney
  2019-12-11 19:09         ` Matthias Brugger
  0 siblings, 1 reply; 22+ messages in thread
From: Paul E. McKenney @ 2019-12-11 18:37 UTC (permalink / raw)
  To: Martin K. Petersen
  Cc: rcu, linux-kernel, kernel-team, mingo, jiangshanlai, dipankar,
	akpm, mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Bart Van Assche,
	Christoph Hellwig, Hannes Reinecke, Johannes Thumshirn,
	Shane M Seymour, Felix Fietkau, Lorenzo Bianconi, Ryder Lee,
	Roy Luo, Kalle Valo, David S. Miller, Matthias Brugger

On Tue, Dec 10, 2019 at 07:51:22PM -0800, Paul E. McKenney wrote:
> On Tue, Dec 10, 2019 at 10:35:49PM -0500, Martin K. Petersen wrote:
> > 
> > Paul,
> > 
> > > Now that the calls to rcu_swap_protected() have been replaced by
> > > rcu_replace_pointer(), this commit removes rcu_swap_protected().
> > 
> > It appears there are two callers remaining in Linus' master. Otherwise
> > looks good to me.
> 
> I did queue a fix for one of them, and thank you for calling my
> attention to the new one.  This commit should hit -next soon, so
> hopefully this will discourage further additions.  ;-)
> 
> > Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
> 
> Thank you!

And here is the patch for the new one.

							Thanx, Paul

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

commit 10699d92c906707d679e28b099cd798a519b4f51
Author: Paul E. McKenney <paulmck@kernel.org>
Date:   Wed Dec 11 10:30:21 2019 -0800

    wireless/mediatek: Replace rcu_swap_protected() with rcu_replace_pointer()
    
    This commit replaces the use of rcu_swap_protected() with the more
    intuitively appealing rcu_replace_pointer() as a step towards removing
    rcu_swap_protected().
    
    Link: https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4gg6Hw@mail.gmail.com/
    Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
    Reported-by: "Martin K. Petersen" <martin.petersen@oracle.com>
    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
    Cc: Felix Fietkau <nbd@nbd.name>
    Cc: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
    Cc: Ryder Lee <ryder.lee@mediatek.com>
    Cc: Roy Luo <royluo@google.com>
    Cc: Kalle Valo <kvalo@codeaurora.org>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Matthias Brugger <matthias.bgg@gmail.com>
    Cc: <linux-wireless@vger.kernel.org>
    Cc: <netdev@vger.kernel.org>
    Cc: <linux-arm-kernel@lists.infradead.org>
    Cc: <linux-mediatek@lists.infradead.org>

diff --git a/drivers/net/wireless/mediatek/mt76/agg-rx.c b/drivers/net/wireless/mediatek/mt76/agg-rx.c
index 53b5a4b..80986ce 100644
--- a/drivers/net/wireless/mediatek/mt76/agg-rx.c
+++ b/drivers/net/wireless/mediatek/mt76/agg-rx.c
@@ -281,8 +281,8 @@ void mt76_rx_aggr_stop(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno)
 {
 	struct mt76_rx_tid *tid = NULL;
 
-	rcu_swap_protected(wcid->aggr[tidno], tid,
-			   lockdep_is_held(&dev->mutex));
+	tid = rcu_swap_protected(wcid->aggr[tidno], tid,
+				 lockdep_is_held(&dev->mutex));
 	if (tid) {
 		mt76_rx_aggr_shutdown(dev, tid);
 		kfree_rcu(tid, rcu_head);

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

* Re: [PATCH tip/core/rcu 10/12] .mailmap: Add entries for old paulmck@kernel.org addresses
  2019-12-10  4:07 ` [PATCH tip/core/rcu 10/12] .mailmap: Add entries for old paulmck@kernel.org addresses paulmck
@ 2019-12-11 19:03   ` Florian Fainelli
  2019-12-11 23:14     ` Paul E. McKenney
  0 siblings, 1 reply; 22+ messages in thread
From: Florian Fainelli @ 2019-12-11 19:03 UTC (permalink / raw)
  To: paulmck, rcu
  Cc: linux-kernel, kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel



On 12/9/2019 8:07 PM, paulmck@kernel.org wrote:
> From: "Paul E. McKenney" <paulmck@kernel.org>
> 
> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> ---
>  .mailmap | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/.mailmap b/.mailmap
> index c24773d..5f330c5 100644
> --- a/.mailmap
> +++ b/.mailmap
> @@ -207,6 +207,11 @@ Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
>  Patrick Mochel <mochel@digitalimplant.org>
>  Paul Burton <paulburton@kernel.org> <paul.burton@imgtec.com>
>  Paul Burton <paulburton@kernel.org> <paul.burton@mips.com>
> +Paul Burton <paul.burton@mips.com> <paul.burton@imgtec.com>

This duplicates an existing entry.
-- 
Florian

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

* Re: [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected()
  2019-12-11 18:37       ` Paul E. McKenney
@ 2019-12-11 19:09         ` Matthias Brugger
  2019-12-11 23:12           ` Paul E. McKenney
  0 siblings, 1 reply; 22+ messages in thread
From: Matthias Brugger @ 2019-12-11 19:09 UTC (permalink / raw)
  To: paulmck, Martin K. Petersen
  Cc: rcu, linux-kernel, kernel-team, mingo, jiangshanlai, dipankar,
	akpm, mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Bart Van Assche,
	Christoph Hellwig, Hannes Reinecke, Johannes Thumshirn,
	Shane M Seymour, Felix Fietkau, Lorenzo Bianconi, Ryder Lee,
	Roy Luo, Kalle Valo, David S. Miller



On 11/12/2019 19:37, Paul E. McKenney wrote:
> On Tue, Dec 10, 2019 at 07:51:22PM -0800, Paul E. McKenney wrote:
>> On Tue, Dec 10, 2019 at 10:35:49PM -0500, Martin K. Petersen wrote:
>>>
>>> Paul,
>>>
>>>> Now that the calls to rcu_swap_protected() have been replaced by
>>>> rcu_replace_pointer(), this commit removes rcu_swap_protected().
>>>
>>> It appears there are two callers remaining in Linus' master. Otherwise
>>> looks good to me.
>>
>> I did queue a fix for one of them, and thank you for calling my
>> attention to the new one.  This commit should hit -next soon, so
>> hopefully this will discourage further additions.  ;-)
>>
>>> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
>>
>> Thank you!
> 
> And here is the patch for the new one.
> 
> 							Thanx, Paul
> 
> ------------------------------------------------------------------------
> 
> commit 10699d92c906707d679e28b099cd798a519b4f51
> Author: Paul E. McKenney <paulmck@kernel.org>
> Date:   Wed Dec 11 10:30:21 2019 -0800
> 
>     wireless/mediatek: Replace rcu_swap_protected() with rcu_replace_pointer()
>     
>     This commit replaces the use of rcu_swap_protected() with the more
>     intuitively appealing rcu_replace_pointer() as a step towards removing
>     rcu_swap_protected().
>     
>     Link: https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4gg6Hw@mail.gmail.com/
>     Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
>     Reported-by: "Martin K. Petersen" <martin.petersen@oracle.com>
>     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
>     Cc: Felix Fietkau <nbd@nbd.name>
>     Cc: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
>     Cc: Ryder Lee <ryder.lee@mediatek.com>
>     Cc: Roy Luo <royluo@google.com>
>     Cc: Kalle Valo <kvalo@codeaurora.org>
>     Cc: "David S. Miller" <davem@davemloft.net>
>     Cc: Matthias Brugger <matthias.bgg@gmail.com>
>     Cc: <linux-wireless@vger.kernel.org>
>     Cc: <netdev@vger.kernel.org>
>     Cc: <linux-arm-kernel@lists.infradead.org>
>     Cc: <linux-mediatek@lists.infradead.org>
> 
> diff --git a/drivers/net/wireless/mediatek/mt76/agg-rx.c b/drivers/net/wireless/mediatek/mt76/agg-rx.c
> index 53b5a4b..80986ce 100644
> --- a/drivers/net/wireless/mediatek/mt76/agg-rx.c
> +++ b/drivers/net/wireless/mediatek/mt76/agg-rx.c
> @@ -281,8 +281,8 @@ void mt76_rx_aggr_stop(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno)
>  {
>  	struct mt76_rx_tid *tid = NULL;
>  
> -	rcu_swap_protected(wcid->aggr[tidno], tid,
> -			   lockdep_is_held(&dev->mutex));
> +	tid = rcu_swap_protected(wcid->aggr[tidno], tid,
> +				 lockdep_is_held(&dev->mutex));

I suppose you meant: rcu_replace_pointer() here.

Regards,
Matthias

>  	if (tid) {
>  		mt76_rx_aggr_shutdown(dev, tid);
>  		kfree_rcu(tid, rcu_head);
> 

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

* Re: [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected()
  2019-12-11 19:09         ` Matthias Brugger
@ 2019-12-11 23:12           ` Paul E. McKenney
  2019-12-12  9:31             ` Kalle Valo
       [not found]             ` <87mubxdh52.fsf@kamboji.qca.qualcomm.com>
  0 siblings, 2 replies; 22+ messages in thread
From: Paul E. McKenney @ 2019-12-11 23:12 UTC (permalink / raw)
  To: Matthias Brugger
  Cc: Martin K. Petersen, rcu, linux-kernel, kernel-team, mingo,
	jiangshanlai, dipankar, akpm, mathieu.desnoyers, josh, tglx,
	peterz, rostedt, dhowells, edumazet, fweisbec, oleg, joel,
	Bart Van Assche, Christoph Hellwig, Hannes Reinecke,
	Johannes Thumshirn, Shane M Seymour, Felix Fietkau,
	Lorenzo Bianconi, Ryder Lee, Roy Luo, Kalle Valo,
	David S. Miller

On Wed, Dec 11, 2019 at 08:09:11PM +0100, Matthias Brugger wrote:
> 
> 
> On 11/12/2019 19:37, Paul E. McKenney wrote:
> > On Tue, Dec 10, 2019 at 07:51:22PM -0800, Paul E. McKenney wrote:
> >> On Tue, Dec 10, 2019 at 10:35:49PM -0500, Martin K. Petersen wrote:
> >>>
> >>> Paul,
> >>>
> >>>> Now that the calls to rcu_swap_protected() have been replaced by
> >>>> rcu_replace_pointer(), this commit removes rcu_swap_protected().
> >>>
> >>> It appears there are two callers remaining in Linus' master. Otherwise
> >>> looks good to me.
> >>
> >> I did queue a fix for one of them, and thank you for calling my
> >> attention to the new one.  This commit should hit -next soon, so
> >> hopefully this will discourage further additions.  ;-)
> >>
> >>> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
> >>
> >> Thank you!
> > 
> > And here is the patch for the new one.
> > 
> > 							Thanx, Paul
> > 
> > ------------------------------------------------------------------------
> > 
> > commit 10699d92c906707d679e28b099cd798a519b4f51
> > Author: Paul E. McKenney <paulmck@kernel.org>
> > Date:   Wed Dec 11 10:30:21 2019 -0800
> > 
> >     wireless/mediatek: Replace rcu_swap_protected() with rcu_replace_pointer()
> >     
> >     This commit replaces the use of rcu_swap_protected() with the more
> >     intuitively appealing rcu_replace_pointer() as a step towards removing
> >     rcu_swap_protected().
> >     
> >     Link: https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4gg6Hw@mail.gmail.com/
> >     Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
> >     Reported-by: "Martin K. Petersen" <martin.petersen@oracle.com>
> >     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> >     Cc: Felix Fietkau <nbd@nbd.name>
> >     Cc: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
> >     Cc: Ryder Lee <ryder.lee@mediatek.com>
> >     Cc: Roy Luo <royluo@google.com>
> >     Cc: Kalle Valo <kvalo@codeaurora.org>
> >     Cc: "David S. Miller" <davem@davemloft.net>
> >     Cc: Matthias Brugger <matthias.bgg@gmail.com>
> >     Cc: <linux-wireless@vger.kernel.org>
> >     Cc: <netdev@vger.kernel.org>
> >     Cc: <linux-arm-kernel@lists.infradead.org>
> >     Cc: <linux-mediatek@lists.infradead.org>
> > 
> > diff --git a/drivers/net/wireless/mediatek/mt76/agg-rx.c b/drivers/net/wireless/mediatek/mt76/agg-rx.c
> > index 53b5a4b..80986ce 100644
> > --- a/drivers/net/wireless/mediatek/mt76/agg-rx.c
> > +++ b/drivers/net/wireless/mediatek/mt76/agg-rx.c
> > @@ -281,8 +281,8 @@ void mt76_rx_aggr_stop(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno)
> >  {
> >  	struct mt76_rx_tid *tid = NULL;
> >  
> > -	rcu_swap_protected(wcid->aggr[tidno], tid,
> > -			   lockdep_is_held(&dev->mutex));
> > +	tid = rcu_swap_protected(wcid->aggr[tidno], tid,
> > +				 lockdep_is_held(&dev->mutex));
> 
> I suppose you meant: rcu_replace_pointer() here.

Indeed I did, and thank you for catching this!  Bad patch day here.  :-/

Update below...

							Thanx, Paul

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

commit ad5572b091429a45e863acaa6a36cf396d44f58d
Author: Paul E. McKenney <paulmck@kernel.org>
Date:   Wed Dec 11 10:30:21 2019 -0800

    wireless/mediatek: Replace rcu_swap_protected() with rcu_replace_pointer()
    
    This commit replaces the use of rcu_swap_protected() with the more
    intuitively appealing rcu_replace_pointer() as a step towards removing
    rcu_swap_protected().
    
    Link: https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4gg6Hw@mail.gmail.com/
    Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
    Reported-by: "Martin K. Petersen" <martin.petersen@oracle.com>
    [ paulmck: Apply Matthias Brugger feedback. ]
    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
    Reviewed-by: "Martin K. Petersen" <martin.petersen@oracle.com>
    Cc: Felix Fietkau <nbd@nbd.name>
    Cc: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
    Cc: Ryder Lee <ryder.lee@mediatek.com>
    Cc: Roy Luo <royluo@google.com>
    Cc: Kalle Valo <kvalo@codeaurora.org>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Matthias Brugger <matthias.bgg@gmail.com>
    Cc: <linux-wireless@vger.kernel.org>
    Cc: <netdev@vger.kernel.org>
    Cc: <linux-arm-kernel@lists.infradead.org>
    Cc: <linux-mediatek@lists.infradead.org>

diff --git a/drivers/net/wireless/mediatek/mt76/agg-rx.c b/drivers/net/wireless/mediatek/mt76/agg-rx.c
index 53b5a4b..59c1878 100644
--- a/drivers/net/wireless/mediatek/mt76/agg-rx.c
+++ b/drivers/net/wireless/mediatek/mt76/agg-rx.c
@@ -281,8 +281,8 @@ void mt76_rx_aggr_stop(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno)
 {
 	struct mt76_rx_tid *tid = NULL;
 
-	rcu_swap_protected(wcid->aggr[tidno], tid,
-			   lockdep_is_held(&dev->mutex));
+	tid = rcu_replace_pointer(wcid->aggr[tidno], tid,
+				  lockdep_is_held(&dev->mutex));
 	if (tid) {
 		mt76_rx_aggr_shutdown(dev, tid);
 		kfree_rcu(tid, rcu_head);

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

* Re: [PATCH tip/core/rcu 10/12] .mailmap: Add entries for old paulmck@kernel.org addresses
  2019-12-11 19:03   ` Florian Fainelli
@ 2019-12-11 23:14     ` Paul E. McKenney
  0 siblings, 0 replies; 22+ messages in thread
From: Paul E. McKenney @ 2019-12-11 23:14 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: rcu, linux-kernel, kernel-team, mingo, jiangshanlai, dipankar,
	akpm, mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel

On Wed, Dec 11, 2019 at 11:03:44AM -0800, Florian Fainelli wrote:
> 
> 
> On 12/9/2019 8:07 PM, paulmck@kernel.org wrote:
> > From: "Paul E. McKenney" <paulmck@kernel.org>
> > 
> > Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> > ---
> >  .mailmap | 5 +++++
> >  1 file changed, 5 insertions(+)
> > 
> > diff --git a/.mailmap b/.mailmap
> > index c24773d..5f330c5 100644
> > --- a/.mailmap
> > +++ b/.mailmap
> > @@ -207,6 +207,11 @@ Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
> >  Patrick Mochel <mochel@digitalimplant.org>
> >  Paul Burton <paulburton@kernel.org> <paul.burton@imgtec.com>
> >  Paul Burton <paulburton@kernel.org> <paul.burton@mips.com>
> > +Paul Burton <paul.burton@mips.com> <paul.burton@imgtec.com>
> 
> This duplicates an existing entry.

Good catch, thank you!  How about the following?

							Thanx, Paul

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

commit 4b9423cbab36dda3d0e4501dc27d57dae35bda3d
Author: Paul E. McKenney <paulmck@kernel.org>
Date:   Mon Nov 25 15:35:26 2019 -0800

    .mailmap: Add entries for old paulmck@kernel.org addresses
    
    [ paulmck: Apply Florian Fainelli feedback. ]
    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>

diff --git a/.mailmap b/.mailmap
index c24773d..39efbe9 100644
--- a/.mailmap
+++ b/.mailmap
@@ -207,6 +207,10 @@ Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
 Patrick Mochel <mochel@digitalimplant.org>
 Paul Burton <paulburton@kernel.org> <paul.burton@imgtec.com>
 Paul Burton <paulburton@kernel.org> <paul.burton@mips.com>
+Paul E. McKenney <paulmck@kernel.org> <paulmck@linux.ibm.com>
+Paul E. McKenney <paulmck@kernel.org> <paulmck@linux.vnet.ibm.com>
+Paul E. McKenney <paulmck@kernel.org> <paul.mckenney@linaro.org>
+Paul E. McKenney <paulmck@kernel.org> <paulmck@us.ibm.com>
 Peter A Jonsson <pj@ludd.ltu.se>
 Peter Oruba <peter@oruba.de>
 Peter Oruba <peter.oruba@amd.com>

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

* Re: [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected()
  2019-12-11 23:12           ` Paul E. McKenney
@ 2019-12-12  9:31             ` Kalle Valo
       [not found]             ` <87mubxdh52.fsf@kamboji.qca.qualcomm.com>
  1 sibling, 0 replies; 22+ messages in thread
From: Kalle Valo @ 2019-12-12  9:31 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: Matthias Brugger, Martin K. Petersen, rcu, linux-kernel,
	kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Bart Van Assche,
	Christoph Hellwig, Hannes Reinecke, Johannes Thumshirn,
	Shane M Seymour, Felix Fietkau, Lorenzo Bianconi, Ryder Lee,
	Roy Luo, David S. Miller, linux-wireless

+ linux-wireless

"Paul E. McKenney" <paulmck@kernel.org> writes:

> On Wed, Dec 11, 2019 at 08:09:11PM +0100, Matthias Brugger wrote:
>> On 11/12/2019 19:37, Paul E. McKenney wrote:
>>
>> > --- a/drivers/net/wireless/mediatek/mt76/agg-rx.c
>> > +++ b/drivers/net/wireless/mediatek/mt76/agg-rx.c
>> > @@ -281,8 +281,8 @@ void mt76_rx_aggr_stop(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno)
>> >  {
>> >  	struct mt76_rx_tid *tid = NULL;
>> >  
>> > -	rcu_swap_protected(wcid->aggr[tidno], tid,
>> > -			   lockdep_is_held(&dev->mutex));
>> > +	tid = rcu_swap_protected(wcid->aggr[tidno], tid,
>> > +				 lockdep_is_held(&dev->mutex));
>> 
>> I suppose you meant: rcu_replace_pointer() here.
>
> Indeed I did, and thank you for catching this!  Bad patch day here.  :-/
>
> Update below...
>
> 							Thanx, Paul
>
> ------------------------------------------------------------------------
>
> commit ad5572b091429a45e863acaa6a36cf396d44f58d
> Author: Paul E. McKenney <paulmck@kernel.org>
> Date:   Wed Dec 11 10:30:21 2019 -0800
>
>     wireless/mediatek: Replace rcu_swap_protected() with rcu_replace_pointer()
>     
>     This commit replaces the use of rcu_swap_protected() with the more
>     intuitively appealing rcu_replace_pointer() as a step towards removing
>     rcu_swap_protected().
>     
>     Link: https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4gg6Hw@mail.gmail.com/
>     Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
>     Reported-by: "Martin K. Petersen" <martin.petersen@oracle.com>
>     [ paulmck: Apply Matthias Brugger feedback. ]
>     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
>     Reviewed-by: "Martin K. Petersen" <martin.petersen@oracle.com>
>     Cc: Felix Fietkau <nbd@nbd.name>
>     Cc: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
>     Cc: Ryder Lee <ryder.lee@mediatek.com>
>     Cc: Roy Luo <royluo@google.com>
>     Cc: Kalle Valo <kvalo@codeaurora.org>
>     Cc: "David S. Miller" <davem@davemloft.net>
>     Cc: Matthias Brugger <matthias.bgg@gmail.com>
>     Cc: <linux-wireless@vger.kernel.org>
>     Cc: <netdev@vger.kernel.org>
>     Cc: <linux-arm-kernel@lists.infradead.org>
>     Cc: <linux-mediatek@lists.infradead.org>

Via which tree is this supposed to go? If I should take this please
resend to linux-wireless so that patchwork sees it, but if someone else
is planning to take this:

Acked-by: Kalle Valo <kvalo@codeaurora.org>

-- 
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

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

* Re: [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected()
       [not found]             ` <87mubxdh52.fsf@kamboji.qca.qualcomm.com>
@ 2019-12-12 18:21               ` Paul E. McKenney
  0 siblings, 0 replies; 22+ messages in thread
From: Paul E. McKenney @ 2019-12-12 18:21 UTC (permalink / raw)
  To: Kalle Valo
  Cc: Matthias Brugger, Martin K. Petersen, rcu, linux-kernel,
	kernel-team, mingo, jiangshanlai, dipankar, akpm,
	mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells,
	edumazet, fweisbec, oleg, joel, Bart Van Assche,
	Christoph Hellwig, Hannes Reinecke, Johannes Thumshirn,
	Shane M Seymour, Felix Fietkau, Lorenzo Bianconi, Ryder Lee,
	Roy Luo, David S. Miller, linux-wireless

On Thu, Dec 12, 2019 at 11:31:37AM +0200, Kalle Valo wrote:
> + linux-wireless
> 
> "Paul E. McKenney" <paulmck@kernel.org> writes:
> 
> > On Wed, Dec 11, 2019 at 08:09:11PM +0100, Matthias Brugger wrote:
> >> On 11/12/2019 19:37, Paul E. McKenney wrote:
> >>
> >> > --- a/drivers/net/wireless/mediatek/mt76/agg-rx.c
> >> > +++ b/drivers/net/wireless/mediatek/mt76/agg-rx.c
> >> > @@ -281,8 +281,8 @@ void mt76_rx_aggr_stop(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno)
> >> >  {
> >> >  	struct mt76_rx_tid *tid = NULL;
> >> >  
> >> > -	rcu_swap_protected(wcid->aggr[tidno], tid,
> >> > -			   lockdep_is_held(&dev->mutex));
> >> > +	tid = rcu_swap_protected(wcid->aggr[tidno], tid,
> >> > +				 lockdep_is_held(&dev->mutex));
> >> 
> >> I suppose you meant: rcu_replace_pointer() here.
> >
> > Indeed I did, and thank you for catching this!  Bad patch day here.  :-/
> >
> > Update below...
> >
> > 							Thanx, Paul
> >
> > ------------------------------------------------------------------------
> >
> > commit ad5572b091429a45e863acaa6a36cf396d44f58d
> > Author: Paul E. McKenney <paulmck@kernel.org>
> > Date:   Wed Dec 11 10:30:21 2019 -0800
> >
> >     wireless/mediatek: Replace rcu_swap_protected() with rcu_replace_pointer()
> >     
> >     This commit replaces the use of rcu_swap_protected() with the more
> >     intuitively appealing rcu_replace_pointer() as a step towards removing
> >     rcu_swap_protected().
> >     
> >     Link: https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4gg6Hw@mail.gmail.com/
> >     Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
> >     Reported-by: "Martin K. Petersen" <martin.petersen@oracle.com>
> >     [ paulmck: Apply Matthias Brugger feedback. ]
> >     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> >     Reviewed-by: "Martin K. Petersen" <martin.petersen@oracle.com>
> >     Cc: Felix Fietkau <nbd@nbd.name>
> >     Cc: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
> >     Cc: Ryder Lee <ryder.lee@mediatek.com>
> >     Cc: Roy Luo <royluo@google.com>
> >     Cc: Kalle Valo <kvalo@codeaurora.org>
> >     Cc: "David S. Miller" <davem@davemloft.net>
> >     Cc: Matthias Brugger <matthias.bgg@gmail.com>
> >     Cc: <linux-wireless@vger.kernel.org>
> >     Cc: <netdev@vger.kernel.org>
> >     Cc: <linux-arm-kernel@lists.infradead.org>
> >     Cc: <linux-mediatek@lists.infradead.org>
> 
> Via which tree is this supposed to go? If I should take this please
> resend to linux-wireless so that patchwork sees it, but if someone else
> is planning to take this:
> 
> Acked-by: Kalle Valo <kvalo@codeaurora.org>

I have queued it just preceding the commit that remove rcu_swap_protected()
with your ack, thank you!

							Thanx, Paul

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

end of thread, other threads:[~2019-12-12 18:21 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-10  4:07 [PATCH tip/core/rcu 0/12] Miscellaneous fixes for v5.6 Paul E. McKenney
2019-12-10  4:07 ` [PATCH tip/core/rcu 01/12] rcu: Remove rcu_swap_protected() paulmck
2019-12-11  3:35   ` Martin K. Petersen
2019-12-11  3:51     ` Paul E. McKenney
2019-12-11 18:37       ` Paul E. McKenney
2019-12-11 19:09         ` Matthias Brugger
2019-12-11 23:12           ` Paul E. McKenney
2019-12-12  9:31             ` Kalle Valo
     [not found]             ` <87mubxdh52.fsf@kamboji.qca.qualcomm.com>
2019-12-12 18:21               ` Paul E. McKenney
2019-12-10  4:07 ` [PATCH tip/core/rcu 02/12] rcu: Mark non-global functions and variables as static paulmck
2019-12-10  4:07 ` [PATCH tip/core/rcu 03/12] rcu: Fix harmless omission of "CONFIG_" from #if condition paulmck
2019-12-10  4:07 ` [PATCH tip/core/rcu 04/12] rcu: Fix tracepoint tracking RCU CPU kthread utilization paulmck
2019-12-10  4:07 ` [PATCH tip/core/rcu 05/12] rcu: Remove the declaration of call_rcu() in tree.h paulmck
2019-12-10  4:07 ` [PATCH tip/core/rcu 06/12] rcu: Move gp_state_names[] and gp_state_getname() to tree_stall.h paulmck
2019-12-10  4:07 ` [PATCH tip/core/rcu 07/12] rcu: Move rcu_{expedited,normal} definitions into rcupdate.h paulmck
2019-12-10  4:07 ` [PATCH tip/core/rcu 08/12] rcu: Switch force_qs_rnp() to for_each_leaf_node_cpu_mask() paulmck
2019-12-10  4:07 ` [PATCH tip/core/rcu 09/12] srcu: Apply *_ONCE() to ->srcu_last_gp_end paulmck
2019-12-10  4:07 ` [PATCH tip/core/rcu 10/12] .mailmap: Add entries for old paulmck@kernel.org addresses paulmck
2019-12-11 19:03   ` Florian Fainelli
2019-12-11 23:14     ` Paul E. McKenney
2019-12-10  4:07 ` [PATCH tip/core/rcu 11/12] powerpc: Remove comment about read_barrier_depends() paulmck
2019-12-10  4:07 ` [PATCH tip/core/rcu 12/12] rcu: Remove unused stop-machine #include paulmck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).