Hi Andrew,
This patch stops using unsigned _longs_ for printk
buffer indexes. Log buffer is way smaller than 2 gigabytes
and unsigned ints will work too . Indeed, they do work nicely
on all 32-bit platforms where longs and ints are the same.
With this patch, we have following size savings on amd64:
text data bss dec hex filename
5997 313 17736 24046 5dee 2.6.23.1.t64/kernel/printk.o
5858 313 17700 23871 5d3f 2.6.23.1.printk.t64/kernel/printk.o
Please take this patch into -mm.
Signed-off-by: Denys Vlasenko <[email protected]>
--
vda
On Sun, 18 Nov 2007 19:32:12 -0800 Denys Vlasenko <[email protected]> wrote:
> Subject: [PATCH] printk.c: use ints instead of longs for logbuf index
"unsigned ints". It matters - using ints would fill the code with bugs.
> Date: Sun, 18 Nov 2007 19:32:12 -0800
> User-Agent: KMail/1.9.1
>
> Hi Andrew,
>
> This patch stops using unsigned _longs_ for printk
> buffer indexes. Log buffer is way smaller than 2 gigabytes
> and unsigned ints will work too . Indeed, they do work nicely
> on all 32-bit platforms where longs and ints are the same.
>
> With this patch, we have following size savings on amd64:
>
> text data bss dec hex filename
> 5997 313 17736 24046 5dee 2.6.23.1.t64/kernel/printk.o
> 5858 313 17700 23871 5d3f 2.6.23.1.printk.t64/kernel/printk.o
I can imagine someone using an 8GB log buffer for crazy
i-cant-be-bothered-using-relayfs stuff.
Oh well, they'll live.