rcupreempt: fix hibernate/resume in presence of PREEMPT_RCU and hotplug
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 28 Feb 2008 00:21:10 +0000 (16:21 -0800)
committerIngo Molnar <mingo@elte.hu>
Fri, 29 Feb 2008 19:21:13 +0000 (20:21 +0100)
commitae778869ae4549628b9e83efe958c3aaa63ed1b9
tree97e36cffbc042f0982bfc8c3d17572c3329b1578
parent076d84bbdb396360d16aaa108c55aa1e24ad47a3
rcupreempt: fix hibernate/resume in presence of PREEMPT_RCU and hotplug

This fixes a oops encountered when doing hibernate/resume in presence of
PREEMPT_RCU.

The problem was that the code failed to disable preemption when
accessing a per-CPU variable.  This is OK when called from code that
already has preemption disabled, but such is not the case from the
suspend/resume code path.

Reported-by: Dave Young <hidave.darkstar@gmail.com>
Tested-by: Dave Young <hidave.darkstar@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/rcupreempt.c