Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/pseries: Increase cpu die timeout

In testing SMT disable, we have been regularly seeing the following
message:

Querying DEAD? cpu %i (%i) shows %i

This indicates the current delay in pseries_cpu_die where we wait
for the specified CPU to die, is insufficient. Usually, this does
not cause a problem, but we've seen this result in BUG_ON's going
off in the timer code when we try to migrate the timers off the
dead cpu while a timer is still running. Increasing this delay,
as is done in this patch, seems to resolve this issue.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

+2 -2
+2 -2
arch/powerpc/platforms/pseries/hotplug-cpu.c
··· 193 193 194 194 if (get_preferred_offline_state(cpu) == CPU_STATE_INACTIVE) { 195 195 cpu_status = 1; 196 - for (tries = 0; tries < 1000; tries++) { 196 + for (tries = 0; tries < 5000; tries++) { 197 197 if (get_cpu_current_state(cpu) == CPU_STATE_INACTIVE) { 198 198 cpu_status = 0; 199 199 break; 200 200 } 201 - cpu_relax(); 201 + msleep(1); 202 202 } 203 203 } else if (get_preferred_offline_state(cpu) == CPU_STATE_OFFLINE) { 204 204