[Crash-utility] FW: Number of cpus on ARM

Karlsson, Jan Jan.Karlsson at sonymobile.com
Wed Oct 15 10:08:24 UTC 2014


Hello

That would be a possibility but I prefer if crash can calculate the correct number of cpus itself.
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.

Jan

Jan Karlsson
Senior Software Engineer
System Assurance

Sony Mobile Communications
Tel: +46 703 062 174
jan.karlsson at sonymobile.com<mailto:Firstname.Lastname at sonymobile.com>

sonymobile.com<http://sonymobile.com/>

[cid:image001.gif at 01CFE870.B85827C0]

From: crash-utility-bounces at redhat.com [mailto:crash-utility-bounces at 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 at sonymobile.com<mailto:Jan.Karlsson at 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 at sonymobile.com<mailto:Firstname.Lastname at sonymobile.com>

sonymobile.com<http://sonymobile.com/>

[cid:image001.gif at 01CFE870.B85827C0]

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 at sonymobile.com<mailto:Firstname.Lastname at sonymobile.com>

sonymobile.com<http://sonymobile.com/>

[cid:image001.gif at 01CFE870.B85827C0]


--
Crash-utility mailing list
Crash-utility at redhat.com<mailto:Crash-utility at redhat.com>
https://www.redhat.com/mailman/listinfo/crash-utility

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20141015/15159194/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.gif
Type: image/gif
Size: 1749 bytes
Desc: image001.gif
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20141015/15159194/attachment.gif>


More information about the Crash-utility mailing list