From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: mingo@elte.hu
Cc: linux-kernel@vger.kernel.org, yinghai@kernel.org,
fweisbec@gmail.com, a.p.zijlstra@chello.nl,
josh@joshtriplett.org, randy.dunlap@oracle.com,
Valdis.Kletnieks@vt.edu
Subject: [GIT PULL rcu/urgent] fixes and breakup of memory-barrier-decrease patch
Date: Thu, 26 May 2011 13:55:37 -0700 [thread overview]
Message-ID: <20110526205537.GA13281@linux.vnet.ibm.com> (raw)
Hello, Ingo,
This pull requests covers some RCU bug fixes and one patch rework.
Frederic Weisbecker fixed an unpaired rcu_irq_enter() from locking
selftests, which was confusing RCU into thinking that CPUs were active
when they were actually in dyntick-idle state, which resulted in hangs
or near-hangs due to RCU grace periods completing too slowly.
The first five of my patches re-applies the infamous now-reverted
"Decrease memory-barrier usage based on semi-formal proof" commit into
five commits. Frederic's fix gets rid of the problem that caused this
commit to be reverted.
Another commit, "Avoid build error for third-party modules", fixes a
build error reported by Randy Dunlap.
The next pair of commits, "Add atomic_or()" and "Avoid acquiring
rcu_node locks in timer functions", fix a lockdep splat reported by
Valdis Kletnieks.
Peter Zijlstra simplified RCU kthread wakeup processing (located while
chasing some scheduler issues), and my last commit avoids some softlockup
splats reported by Yinghai Lu.
Work left to be done includes fixing some performance regressions reported
by Yinghai Lu and providing a few assembly versions of atomic_or().
These changes are available in the -rcu git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu.git rcu/urgent
Thanx, Paul
------------------>
Frederic Weisbecker (1):
rcu: Fix unpaired rcu_irq_enter() from locking selftests
Paul E. McKenney (9):
rcu: Add memory barriers
rcu: Remove old memory barriers from rcu_process_callbacks()
rcu: Don't do reschedule unless in irq
rcu: Make rcu_enter_nohz() pay attention to nesting
rcu: Decrease memory-barrier usage based on semi-formal proof
rcu: Avoid build error for third-party modules
atomic: Add atomic_or()
rcu: Avoid acquiring rcu_node locks in timer functions
rcu: Start RCU kthreads in TASK_INTERRUPTIBLE state
Peter Zijlstra (1):
rcu: Remove waitqueue usage for cpu, node, and boost kthreads
Documentation/RCU/trace.txt | 17 ++---
include/linux/atomic.h | 13 ++++
include/linux/rcupdate.h | 5 +-
kernel/rcutree.c | 164 ++++++++++++++++++-------------------------
kernel/rcutree.h | 30 ++++----
kernel/rcutree_plugin.h | 24 ++-----
kernel/rcutree_trace.c | 12 ++--
lib/locking-selftest.c | 2 +-
8 files changed, 116 insertions(+), 151 deletions(-)
reply other threads:[~2011-05-26 20:55 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20110526205537.GA13281@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=Valdis.Kletnieks@vt.edu \
--cc=a.p.zijlstra@chello.nl \
--cc=fweisbec@gmail.com \
--cc=josh@joshtriplett.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=randy.dunlap@oracle.com \
--cc=yinghai@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox