Dave Anderson wrote:
On a RHEL5 x86:
crash> sym -q __per_cpu | grep -e start -e end
c03100a0 (A) __per_cpu_start
c0315ae4 (A) __per_cpu_end
crash>
But on your RHEL5 ppc64 kernel:
# nm -Bn vmlinux | grep __per_cpu
c000000000430100 D __per_cpu_start
c0000000004356f0 D __per_cpu_end
#
So if you remove the two "type == 'A'" qualifiers
from the if statement above, does it work OK?
Dave , thanks for the hint. Yes these symbols are of
type D on PPC64 machine. Infact after checking on latest
RHEL5 kernels [ with relocatable support ] this is
the case with even other archs also.
[root@llm19 boot]# cat System.map-2.6.18-1.2767.el5 | grep __per_cpu_
c065dd2c r __ksymtab___per_cpu_offset
c0663c64 r __kcrctab___per_cpu_offset
c0666c12 r __kstrtab___per_cpu_offset
c06e6b80 D __per_cpu_offset
c077d100 D __per_cpu_start
c0781de4 D __per_cpu_end
[root@llm19 boot]# uname -i
i386
[root@llm19 boot]#
So this probably can be a generic problem affecting other arch's
also.
Thanks for the help.
Attached here is a patch to fix this problem. Let me know if it's
ok.
Thanks
-Sachin
* On a UP machine running SMP kernel, crash fails while reading idle tasks
* from per cpu data.
Signed-off-by : Sachin Sant <sachinp(a)in.ibm.com>
---