From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: mingo@kernel.org, laijs@cn.fujitsu.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,
dvhart@linux.intel.com, fweisbec@gmail.com, oleg@redhat.com,
bobby.prani@gmail.com
Subject: [PATCH tip/core/rcu 0/7] Early-boot RCU callbacks for v4.1
Date: Tue, 3 Mar 2015 08:45:28 -0800 [thread overview]
Message-ID: <20150303164528.GA6616@linux.vnet.ibm.com> (raw)
Hello!
This series allows RCU callbacks to be posted very early at boot time,
even before rcu_init() is called.
1. Abstract initialization of the default (non-no-CB) callbacks list
from the init_callback_list() function into a new
init_default_callback_list() function.
2. Initialize rcu_state structures' ->rda pointers to per-CPU
rcu_data structures at compile time, so that this linkage
is established for early-boot usage.
3. Remove diagnostics that currently splat in the presence of
early-boot RCU callbacks.
4. Update no-CBs diagnostics to allow for early-boot RCU callbacks.
5. Make RCU's CPU-hotplug online code avoid initializing non-empty
RCU callback lists in order to avoid leaking early-boot callbacks.
6. When a given CPU is determined to be a no-CBs CPU, move any
early-boot callbacks to its no-CBs callback list.
7. Move the early-boot callback tests to precede rcu_init()'s
initialization code, the better to test all the above.
Thanx, Paul
------------------------------------------------------------------------
b/kernel/rcu/tree.c | 52 ++++++++++++++++++++++++++++++++-------------
b/kernel/rcu/tree_plugin.h | 27 ++++++++++++-----------
2 files changed, 51 insertions(+), 28 deletions(-)
next reply other threads:[~2015-03-03 16:45 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-03 16:45 Paul E. McKenney [this message]
2015-03-03 16:45 ` [PATCH tip/core/rcu 1/7] rcu: Abstract default callback-list initialization from init_callback_list() Paul E. McKenney
2015-03-03 16:45 ` [PATCH tip/core/rcu 2/7] rcu: Wire ->rda pointers at compile time Paul E. McKenney
2015-03-03 16:45 ` [PATCH tip/core/rcu 3/7] rcu: Prevent early-boot RCU callbacks from splatting Paul E. McKenney
2015-03-03 16:45 ` [PATCH tip/core/rcu 4/7] rcu: Refine diagnostics for lacking kthread for no-CBs callbacks Paul E. McKenney
2015-03-03 16:45 ` [PATCH tip/core/rcu 5/7] rcu: Avoid clobbering early boot callbacks Paul E. McKenney
2015-03-03 16:45 ` [PATCH tip/core/rcu 6/7] rcu: Move early-boot callbacks to no-CBs lists for no-CBs CPUs Paul E. McKenney
2015-03-03 16:57 ` Mathieu Desnoyers
2015-03-03 17:12 ` Paul E. McKenney
2015-03-03 16:45 ` [PATCH tip/core/rcu 7/7] rcu: Move early boot callback tests earlier Paul E. McKenney
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=20150303164528.GA6616@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=dvhart@linux.intel.com \
--cc=edumazet@google.com \
--cc=fweisbec@gmail.com \
--cc=josh@joshtriplett.org \
--cc=laijs@cn.fujitsu.com \
--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.