[Crash-utility] [PATCH 2/3] crash: ARM: get online CPUs from cpu_active_mask
Liu hua
sdu.liu at huawei.com
Mon Apr 28 14:37:17 UTC 2014
于 2014/4/28 21:30, Dave Anderson 写道:
>
>
> ----- Original Message -----
>> 于 2014/4/27 7:43, Dave Anderson 写道:
>>>
>>>
>>> ----- 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 at 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
>>
>> Hi Dave,
>>
>> Sure, there seems no extra problems caused by the commit above. We can add it
>> when necessory.
>
> Will you be re-posting the original patch? (with or without the help -k support)
I will repost patches soon, with help -k support.
>
>>
>> And, I am very sorry to tell you that I have no authority for sending binary files out of my
>> company, becasue of it's security rules. I have no ways to send that huge file out. Maybe
>> I can do some test for you on my platform.
>
> OK I understand.
>
> Thanks,
> Dave
>
> .
>
More information about the Crash-utility
mailing list