[Crash-utility] Running idle threads show wrong CPU numbers
Dave Anderson
anderson at redhat.com
Wed Feb 10 19:56:55 UTC 2010
----- "Michael Holzheu" <holzheu at 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
More information about the Crash-utility
mailing list