• A
    cpumask: make for_each_cpu_mask a bit smaller · 7baac8b9
    Alexander van Heukelum 提交于
    The for_each_cpu_mask loop is used quite often in the kernel. It
    makes use of two functions: first_cpu and next_cpu. This patch
    changes for_each_cpu_mask to use only the latter. Because next_cpu
    finds the next eligible cpu _after_ the given one, the iteration
    variable has to be initialized to -1 and next_cpu has to be
    called with this value before the first iteration. An x86_64
    defconfig kernel (from sched/latest) is about 2500 bytes smaller
    with this patch applied:
    
       text	   data	    bss	    dec	    hex	filename
    6222517	 917952	 749932	7890401	 7865e1	vmlinux.orig
    6219922	 917952	 749932	7887806	 785bbe	vmlinux
    
    The same size reduction is seen for defconfig+MAXSMP
    
       text	   data	    bss	    dec	    hex	filename
    6241772	2563968	1492716	10298456	 9d2458	vmlinux.orig
    6239211	2563968	1492716	10295895	 9d1a57	vmlinux
    Signed-off-by: NAlexander van Heukelum <heukelum@fastmail.fm>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
    7baac8b9
cpumask.h 16.7 KB