Merge branches 'barrier.2012.04.26a', 'fixes.2012.04.26a', 'inline.2012.04.25a' and 'srcu.2012.04.30a' into dev3.5-2012.04.30a

These branches are as follows:

barrier.2012.04.26a: Make rcu_barrier() less disruptive to the rest of
	the system by avoiding interrupting CPUs having no callbacks.
	Due to dependencies among commits, this branch also contains
	fixes and improvements to the new version of RCU_FAST_NO_HZ.

fixes.2012.04.26a: Miscellaneous fixes.

inline.2012.04.25a: Make preemptible RCU's __rcu_read_lock() be
	inlinable.

srcu.2012.04.30a: Direct algorithmic SRCU implementation, including
	call_srcu() and srcu_barrier().  Due to conflicts among
	commits, all changes to rcutorture are on this branch.