linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL rcu/urgent] fixes and breakup of memory-barrier-decrease patch
@ 2011-05-26 20:55 Paul E. McKenney
  0 siblings, 0 replies; only message in thread
From: Paul E. McKenney @ 2011-05-26 20:55 UTC (permalink / raw)
  To: mingo
  Cc: linux-kernel, yinghai, fweisbec, a.p.zijlstra, josh,
	randy.dunlap, Valdis.Kletnieks

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(-)

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-05-26 20:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-26 20:55 [GIT PULL rcu/urgent] fixes and breakup of memory-barrier-decrease patch Paul E. McKenney

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).