----- "Michael Holzheu" <holzheu(a)linux.vnet.ibm.com> wrote:
The following shows the output of "bt -a" without the
patch:
PID: 0 TASK: 18d38340 CPU: 2 COMMAND: "swapper"
bt: invalid kernel virtual address: ffffffffffffc000 type: "async_stack"
PID: 0 TASK: 18d40440 CPU: 3 COMMAND: "swapper"
bt: invalid kernel virtual address: ffffffffffffc000 type: "async_stack"
We can't leave it like that. With my patch at least we get a correct
stack backtrace:
PID: 0 TASK: 18d38340 CPU: 2 COMMAND: "swapper"
#0 [18d3feb8] ret_from_fork at 117e12
OK, fair enough.. ;-)
How is the output of a backtrace of offline CPUs on other
architectures?
Well, none of the other arches have anything like that "lowcore" business,
so they work like any other blocked task, although that may be somewhat
dumpfile-type-dependent. I did check an i386, and it actually showed
a backtrace that passed through cpu_exit_clear() called from cpu_idle(),
via the inlined play_dead():
cpu_idle (void)
{
...
if (cpu_is_offline(cpu))
play_dead();
}
}
Anyway, queued for the next release. Sorry for keeping you late!
Dave