[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120622153501.GA6626@linux.vnet.ibm.com>
Date: Fri, 22 Jun 2012 08:35:01 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: linux-kernel@...r.kernel.org
Cc: mingo@...e.hu, laijs@...fujitsu.com, dipankar@...ibm.com,
akpm@...ux-foundation.org, mathieu.desnoyers@...icios.com,
josh@...htriplett.org, niv@...ibm.com, tglx@...utronix.de,
peterz@...radead.org, rostedt@...dmis.org, Valdis.Kletnieks@...edu,
dhowells@...hat.com, eric.dumazet@...il.com, darren@...art.com,
fweisbec@...il.com, sbw@....edu, patches@...aro.org
Subject: [PATCH tip/core/rcu 0/17] v2 Fixups for 3.6
Hello!
This patch series has general fixups and improvements. This is version 2,
the prior version may be found at: https://lkml.org/lkml/2012/6/15/388.
The individual patches are as follows:
1. Get rid of the false positives from the code that recognizes
a CPU stall that ends just as it is detected.
2. Consolidate open-coded initializations of RCU callback lists.
3. Protect unsynchronized accesses to ->qlen with ACCESS_ONCE()
to document the unsynchronized access and to prevent compiler
mischief.
4. Add RCU_POINTER_INITIALIZER() for static initialization to allow
do-while formulation of the existing RCU_INIT_POINTER().
5. Convert clever use of RCU_INIT_POINTER() for gcc-style
initialization to RCU_POINTER_INITIALIZER().
6. Wrap RCU_INIT_POINTER() macro in obligatory do-while.
7. Remove extraneous parentheses from rcu_assign_keypointer()
to allow rcu_assign_pointer() to be wrapped in do-while.
8. Wrap rcu_assign_pointer() macro in obligatory do-while.
9. Consolidate the identical CONFIG_TREE_PREEMPT_RCU and
CONFIG_TINY_PREEMPT_RCU versions of __rcu_read_lock() and
__rcu_read_unlock().
10. Remove the old inline-function version of __kfree_rcu() and
__is_kfree_rcu_offset().
11. Make __call_rcu() correctly handle calls from the idle loop.
12. Make __call_rcu() correctly handle calls from a CPU that is
in the process of going offline.
13. Split __call_rcu() into the part that actually deals with
enqueueing the callback and the part that kicks RCU's
grace-period machinery.
14. Make RCU_TINY's rcu_is_cpu_idle() function safe for "make
randconfig".
15. Properly initialize the preemptible-RCU string in kernels built
without CONFIG_RCU_FAST_NO_HZ (courtesy of Carsten Emde).
16. Disable preemption in rcu_blocking_is_gp() to allow future
optimization of preemptible-RCU synchronize_rcu() for single-CPU
systems.
17. Add a warning for CPUs going offline with RCU callbacks queued.
Changes since version 1:
o Applied Josh Triplett review comments.
o Added patches 15-17.
Thanx, Paul
b/include/linux/init_task.h | 4 -
b/include/linux/key.h | 2
b/include/linux/rcupdate.h | 8 ++
b/kernel/rcupdate.c | 44 +++++++++++
b/kernel/rcutiny.c | 4 -
b/kernel/rcutiny_plugin.h | 47 ------------
b/kernel/rcutree.c | 4 -
b/kernel/rcutree_plugin.h | 47 ------------
include/linux/rcupdate.h | 42 ++---------
kernel/rcutree.c | 164 ++++++++++++++++++++++----------------------
kernel/rcutree_plugin.h | 1
11 files changed, 157 insertions(+), 210 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists