Re: [PATCHv3] Make for_each_cpu_mask a bit smaller

From: Ingo Molnar
Date: Tue May 13 2008 - 08:03:20 EST



* Alexander van Heukelum <heukelum@xxxxxxxxxxxxx> wrote:

> 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

applied for testing, thanks Alexander.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/