ARC: Adjust cpuinfo for non-continuous cpu ids
authorNoam Camus <noamc@ezchip.com>
Wed, 19 Oct 2016 11:25:03 +0000 (14:25 +0300)
committerVineet Gupta <vgupta@synopsys.com>
Wed, 19 Oct 2016 17:01:55 +0000 (10:01 -0700)
num_possible_cpus() returns how many CPUs may be present on system.
However we want the highest possible CPU number.
This may be differ in a sparsed possible CPUs map.
Such map achived by OF for plat-eznps.

For example if we have:
possible cpus mask 0,3

Then:
num_possible_cpus() is equal 2
while
nr_cpu_ids is equal 4.

Only for value 4 c_start() will provide correct cpuinfo at procfs.

Signed-off-by: Noam Camus <noamc@ezchip.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/kernel/setup.c

index 3df7f9c72f4271478e1ca26cd90f1d59da475129..75e54097213535e5b383722ee910909ebbaea514 100644 (file)
@@ -507,7 +507,7 @@ static void *c_start(struct seq_file *m, loff_t *pos)
         * way to pass it w/o having to kmalloc/free a 2 byte string.
         * Encode cpu-id as 0xFFcccc, which is decoded by show routine.
         */
-       return *pos < num_possible_cpus() ? cpu_to_ptr(*pos) : NULL;
+       return *pos < nr_cpu_ids ? cpu_to_ptr(*pos) : NULL;
 }
 
 static void *c_next(struct seq_file *m, void *v, loff_t *pos)