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@sonymobile.com

 

sonymobile.com

 

Sony logotype_23px height_Email_144dpi

 

From: crash-utility-bounces@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@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@sonymobile.com

 

sonymobile.com

 

Sony logotype_23px height_Email_144dpi

 

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@sonymobile.com

 

sonymobile.com

 

Sony logotype_23px height_Email_144dpi

 


--
Crash-utility mailing list
Crash-utility@redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility