Files
android_kernel_samsung_msm8…/kernel
Paul E. McKenney d3a00bb200 rcu: Make rcu_barrier() less disruptive
The rcu_barrier() primitive interrupts each and every CPU, registering
a callback on every CPU.  Once all of these callbacks have been invoked,
rcu_barrier() knows that every callback that was registered before
the call to rcu_barrier() has also been invoked.

However, there is no point in registering a callback on a CPU that
currently has no callbacks, most especially if that CPU is in a
deep idle state.  This commit therefore makes rcu_barrier() avoid
interrupting CPUs that have no callbacks.  Doing this requires reworking
the handling of orphaned callbacks, otherwise callbacks could slip through
rcu_barrier()'s net by being orphaned from a CPU that rcu_barrier() had
not yet interrupted to a CPU that rcu_barrier() had already interrupted.
This reworking was needed anyway to take a first step towards weaning
RCU from the CPU_DYING notifier's use of stop_cpu().

CRs-fixed: 657837
Change-Id: Icb4392d9dc2cd25d9c9ea05b93ea9e2a99d24bcb
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Git-commit: b1420f1c8bfc30ecf6380a31d0f686884834b599
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Ramesh Gupta Guntha <rggupt@codeaurora.org>
2014-07-21 21:37:29 +05:30
..
…
2012-06-26 10:35:13 -07:00
…
…
…
2012-03-28 18:30:03 +01:00
…
…
2013-06-18 10:24:00 -07:00
…
…
…
2012-03-26 12:50:53 +10:30
…
…
2012-03-29 19:52:46 +08:00
…
2012-03-23 16:58:41 -07:00
…
…
2012-03-28 18:30:03 +01:00
…
2013-11-27 11:01:37 -08:00
2011-12-21 12:57:40 -08:00
2012-03-15 18:17:55 -07:00
…
…
…
…