forked from luck/tmp_suning_uos_patched
9b130ad5bb
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 <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
ge | ||
xics | ||
xive | ||
6xx-suspend.S | ||
axonram.c | ||
cpm_common.c | ||
cpm1.c | ||
cpm2_pic.c | ||
cpm2_pic.h | ||
cpm2.c | ||
dart_iommu.c | ||
dart.h | ||
dcr-low.S | ||
dcr.c | ||
ehv_pic.c | ||
fsl_85xx_cache_ctlr.h | ||
fsl_85xx_cache_sram.c | ||
fsl_85xx_l2ctlr.c | ||
fsl_gtm.c | ||
fsl_lbc.c | ||
fsl_mpic_err.c | ||
fsl_mpic_timer_wakeup.c | ||
fsl_msi.c | ||
fsl_msi.h | ||
fsl_pci.c | ||
fsl_pci.h | ||
fsl_pmc.c | ||
fsl_rcpm.c | ||
fsl_rio.c | ||
fsl_rio.h | ||
fsl_rmu.c | ||
fsl_soc.c | ||
fsl_soc.h | ||
grackle.c | ||
i8259.c | ||
indirect_pci.c | ||
ipic.c | ||
ipic.h | ||
Kconfig | ||
Makefile | ||
micropatch.c | ||
mmio_nvram.c | ||
mpc5xxx_clocks.c | ||
mpic_msgr.c | ||
mpic_msi.c | ||
mpic_timer.c | ||
mpic_u3msi.c | ||
mpic.c | ||
mpic.h | ||
msi_bitmap.c | ||
mv64x60_dev.c | ||
mv64x60_pci.c | ||
mv64x60_pic.c | ||
mv64x60_udbg.c | ||
mv64x60.h | ||
of_rtc.c | ||
pmi.c | ||
rtc_cmos_setup.c | ||
scom.c | ||
simple_gpio.c | ||
simple_gpio.h | ||
tsi108_dev.c | ||
tsi108_pci.c | ||
udbg_memcons.c | ||
xilinx_intc.c | ||
xilinx_pci.c |