mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
treewide: make "nr_cpu_ids" unsigned
First, number of CPUs can't be negative number. Second, different signnnedness leads to suboptimal code in the following cases: 1) kmalloc(nr_cpu_ids * sizeof(X)); "int" has to be sign extended to size_t. 2) while (loff_t *pos < nr_cpu_ids) MOVSXD is 1 byte longed than the same MOV. Other cases exist as well. Basically compiler is told that nr_cpu_ids can't be negative which can't be deduced if it is "int". Code savings on allyesconfig kernel: -3KB add/remove: 0/0 grow/shrink: 25/264 up/down: 261/-3631 (-3370) function old new delta coretemp_cpu_online 450 512 +62 rcu_init_one 1234 1272 +38 pci_device_probe 374 399 +25 ... pgdat_reclaimable_pages 628 556 -72 select_fallback_rq 446 369 -77 task_numa_find_cpu 1923 1807 -116 Link: http://lkml.kernel.org/r/20170819114959.GA30580@avx2 Signed-off-by: Alexey Dobriyan <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
ac036f9570
commit
9b130ad5bb
17 changed files with 21 additions and 21 deletions
|
|
@ -1200,7 +1200,7 @@ static void __init validate_hv(void)
|
|||
* We use a struct cpumask for this, so it must be big enough.
|
||||
*/
|
||||
if ((smp_height * smp_width) > nr_cpu_ids)
|
||||
early_panic("Hypervisor %d x %d grid too big for Linux NR_CPUS %d\n",
|
||||
early_panic("Hypervisor %d x %d grid too big for Linux NR_CPUS %u\n",
|
||||
smp_height, smp_width, nr_cpu_ids);
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue