[Crash-utility] [PATCH 2/3] crash: ARM: get online CPUs from cpu_active_mask
Dave Anderson
anderson at redhat.com
Mon Apr 28 13:30:58 UTC 2014
----- 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)
>
> 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