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
[email protected]<mailto:[email protected]>

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

[cid:[email protected]]

--
Crash-utility mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/crash-utility

Reply via email to