rcupreempt: remove never-migrates assumption from rcu_process_callbacks()
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 28 Feb 2008 19:51:07 +0000 (11:51 -0800)
committerIngo Molnar <mingo@elte.hu>
Fri, 29 Feb 2008 19:21:13 +0000 (20:21 +0100)
commitc9e71002aacc9821e99531dcc130db88bbc8ad05
tree2446b59e33eccc53ff8a04179588296bc43c0f0f
parentae778869ae4549628b9e83efe958c3aaa63ed1b9
rcupreempt: remove never-migrates assumption from rcu_process_callbacks()

This patch fixes a potentially invalid access to a per-CPU variable in
rcu_process_callbacks().

This per-CPU access needs to be done in such a way as to guarantee that
the code using it cannot move to some other CPU before all uses of the
value accessed have completed.  Even though this code is currently only
invoked from softirq context, which currrently cannot migrate to some
other CPU, life would be better if this code did not silently make such
an assumption.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/rcupreempt.c