cpumask: make for_each_cpu_mask a bit smaller
authorAlexander van Heukelum <heukelum@mailshack.com>
Tue, 13 May 2008 09:28:21 +0000 (11:28 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 23 May 2008 16:46:12 +0000 (18:46 +0200)
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: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

No differences found