[Crash-utility] poisoned per_cpu data not handled on ppc64

Dave Anderson anderson at redhat.com
Thu Mar 9 20:15:19 UTC 2006


Olaf Hering wrote:

>  On Thu, Mar 09, Dave Anderson wrote:
>
> > Is this right?  NR_CPUS is hardcoded (in crash) to 32 for ppc64,
>
> Ugh, cant that be guessed from the core file or from the debuginfo?

It can.  But since the crash/2.2.x timeframe, there's been a number of
pre-defined arrays or code sequences in the crash code that were
put in place to gather kernel data during session initialization when
it's unknown how many cpus were configured into the target kernel.
I've regretted that ever since, but never got around to replacing them,
and to complicate matters, other stuff like LKCD data structures got
added which use NR_CPUS, and so on...

Anyway, it's been harmless to date, as long as the NR_CPUS compiled
into crash is equal to or greater than what was compiled into the
kernel.  In fact, if you try to run crash on a kernel that has a greater
NR_CPUS value in the kernel than what's in crash, it will recognize that,
report it, and die.  But it was never meant to be used as the NR_CPUS
that's configured into the kernel -- I probably should have re-named it
from the start to avoid the confusion.

But back in those days, the concept of running Linux in anything
greater than 32 cpus seemed like a pipe dream...

Dave







More information about the Crash-utility mailing list