----- Original Message -----
Hello
That would be a possibility but I prefer if crash can calculate the correct
number of cpus itself.
Right, the --cpus option is only there as a workaround.
If we just want to set the number of cpus to the number of cpus
present, then
the function “get_cpus_present()” could probably be used.
I prefer your patch copying ARM64. You could throw get_cpus_present() in there,
but it wouldn't apply to 2.6.29 and earlier kernels.
Dave
Jan
Jan Karlsson
Senior Software Engineer
System Assurance
Sony Mobile Communications
Tel: +46 703 062 174
jan.karlsson(a)sonymobile.com
sonymobile.com
From: crash-utility-bounces(a)redhat.com
[mailto:crash-utility-bounces@redhat.com] On Behalf Of Arun KS
Sent: den 15 oktober 2014 11:57
To: Discussion list for crash utility usage, maintenance and development
Subject: Re: [Crash-utility] FW: Number of cpus on ARM
Hello Jan,
Can you try with option --cpus=4 passed when your start the crash.
I used 4 here because i have 4 cores.
Thanks,
Arun
On Wed, Oct 15, 2014 at 2:49 PM, Karlsson, Jan < Jan.Karlsson(a)sonymobile.com
> wrote:
Hi
Unfortunately I found another older example where my patch below did not
work.
In that one only cpu 0 where online but 0,1,2,3 where active. So maybe:
return MAX(get_cpus_active(), get_highest_cpu_online()+1);
might work better. Someone with better knowledge about this than I have
should look at the problem.
Jan
Jan Karlsson
Senior Software Engineer
System Assurance
Sony Mobile Communications
Tel: +46 703 062 174
jan.karlsson(a)sonymobile.com
sonymobile.com
From: Karlsson, Jan
Sent: den 15 oktober 2014 10:49
To: Discussion list for crash utility usage, maintenance and development
Subject:
Hi
I have seen a problem when it comes to the number of cpus for ARM (32-bits).
static int
arm_get_smp_cpus(void)
{
return MAX(get_cpus_active(), get_cpus_online());
}
In one of my example, “help –k” gives me:
cpu_possible_map: 0 1 2 3
cpu_present_map: 0 1 2 3
cpu_online_map: 0 3
cpu_active_map: 3
So the number of cpus will become 2. However there are code in a number of
places that will then only accept cpu 0 and 1 as cpus to handle.
When I changed to code to be the same as for ARM64 things worked as expected:
static int
arm_get_smp_cpus(void)
{
return MAX(get_cpus_online(), get_highest_cpu_online()+1);
}
Jan
Jan Karlsson
Senior Software Engineer
System Assurance
Sony Mobile Communications
Tel: +46 703 062 174
jan.karlsson(a)sonymobile.com
sonymobile.com
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility