2007-11-19 03:32:32

by Denys Vlasenko

[permalink] [raw]
Subject: [PATCH] printk.c: use ints instead of longs for logbuf index

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


Attachments:
(No filename) (596.00 B)
linux-2.6.23.1.printk.diff (4.13 kB)
Download all attachments

2007-11-20 06:31:22

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] printk.c: use ints instead of longs for logbuf index

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.