rcu: Fix accelerated GPs for last non-dynticked CPU
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sat, 27 Feb 2010 00:38:58 +0000 (16:38 -0800)
committerIngo Molnar <mingo@elte.hu>
Sat, 27 Feb 2010 08:53:53 +0000 (09:53 +0100)
commit71da81324c83ef65bb196c7f874ac1c6996d8287
treeb470c5769ad88d2e2af8fe25cc84e7df85fb3d7c
parent0b1c87278a8c7e394022ec184a0b44a3886b6fde
rcu: Fix accelerated GPs for last non-dynticked CPU

This patch disables irqs across the call to rcu_needs_cpu().  It
also enforces a hold-off period so that the idle loop doesn't
softirq itself to death when there are lots of RCU callbacks in
flight on the last non-dynticked CPU.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: mathieu.desnoyers@polymtl.ca
Cc: josh@joshtriplett.org
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: Valdis.Kletnieks@vt.edu
Cc: dhowells@redhat.com
LKML-Reference: <1267231138-27856-3-git-send-email-paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/rcutree_plugin.h