----- Original Message -----
On 2014/4/26 3:20, Dave Anderson wrote:
>
>
> ----- Original Message -----
>> For ARM32 platfrom, The system will "offline" all CPUs except the
>> crashing one, by clear the cpu_online_mask. So we need to find
>> another way to get online-CPUs number for crash utility.
>>
>> This patch uses cpu_active_mask to get that value.
>>
>> Signed-off-by: Liu Hua <sdu.liu(a)huawei.com>
>> ---
>> arm.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arm.c b/arm.c
>> index 3c38cd5..c94d7bf 100644
>> --- a/arm.c
>> +++ b/arm.c
>> @@ -1518,7 +1518,7 @@ arm_display_machine_stats(void)
>> static int
>> arm_get_smp_cpus(void)
>> {
>> - return get_cpus_online();
>> + return get_cpus_active();
>> }
>>
>> /*
>
> When did this start happening? I ask because no other ARM users have
> reported this until now. I've only got one sample SMP vmcore, and
> clearly the non-crashing cpu was not offlined:
>
Hi Dave,
commit 36a2e5010fe87 "kexec: offline non panic CPUs on Kdump panic "
introduces this change. <v3.10.27-1-g36a2e50>
The following messges come from the ARM boards on my hand. The crash
utility has added my patchs.
(1) ARM A15 16 CPUs
crash> sys
KERNEL: vmlinux
DUMPFILE: vmcore_my [PARTIAL DUMP]
CPUS: 16
DATE: Fri Feb 28 10:07:55 2014
UPTIME: 00:03:57
LOAD AVERAGE: 0.03, 0.01, 0.01
TASKS: 140
NODENAME: arma15el
RELEASE: 3.10.37+
VERSION: #2 SMP Thu Apr 24 21:13:28 CST 2014
MACHINE: armv7l (unknown Mhz)
MEMORY: 3.1 GB
PANIC: "Internal error: Oops: a07 [#1] SMP ARM" (check log for details
crash> help -k
....
cpu_possible_map: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
cpu_present_map: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
cpu_online_map: 0
...
(2) ARM A9 4 CPUs
crash> sys
KERNEL: vmlinux
DUMPFILE: vmcore
CPUS: 2
DATE: Mon Apr 14 11:09:10 2014
UPTIME: 00:06:17
LOAD AVERAGE: 0.16, 0.05, 0.02
TASKS: 45
NODENAME: arma9el
RELEASE: 3.10.37+
VERSION: #6 SMP Tue Apr 22 13:23:30 CST 2014
MACHINE: armv7l (unknown Mhz)
MEMORY: 1.5 GB
PANIC: "Internal error: Oops: 817 [#1] SMP ARM" (check log for
details)
crash> help -k
....
cpu_possible_map: 0 1
cpu_present_map: 0 1
cpu_online_map: 1
crash> p per_cpu__runqueues
PER-CPU DATA TYPE:
struct rq runqueues;
PER-CPU ADDRESSES:
[0]: c069a680
[1]: c06a2680
With my patches, "sys" command is ok. And I can get per_cpu variables
correctly.
But something should be done for "help -k". May be I should add fully support
for cpu_active_mask. If necessory, I will resend this patch series.
It's not necessary, but it would be nice to have, and would be
easy to add.
Also, would it be possible that you can let me have a copy of your
16-cpu vmlinux/vmcore pair? That would be a great sample for
my testing.
Thanks,
Dave