[RFC] x86: setup code_bytes - use mask to restrict it's size

Cyrill Gorcunov
2008-02-02T22:12:49Z

This patch strips off 8 bytes from text section. Not a really
big advantage (especially for __init section). It seems 8192
bytes of disassembled code is rare used anyway.

before:
text data bss dec hex filename
9900 176 20 10096 2770 arch/x86/kernel/traps_64.o.old
after:
text data bss dec hex filename
9892 176 20 10088 2768 arch/x86/kernel/traps_64.o

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

If there is no benefit at all - just drop the patch.
Any comments are welcome ;)

Index: linux-2.6.git/arch/x86/kernel/traps_32.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/traps_32.c 2008-02-02 23:52:16.000000000 +0300
+++ linux-2.6.git/arch/x86/kernel/traps_32.c 2008-02-03 00:39:58.000000000 +0300
@@ -1229,8 +1229,9 @@ __setup("kstack=", kstack_setup);
static int __init code_bytes_setup(char *s)
{
code_bytes = simple_strtoul(s, NULL, 0);
- if (code_bytes > 8192)
- code_bytes = 8192;
+
+ /* we don't want too long code-dump */
+ code_bytes &= 8191;

return 1;
}
Index: linux-2.6.git/arch/x86/kernel/traps_64.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/traps_64.c 2008-02-02 23:52:16.000000000 +0300
+++ linux-2.6.git/arch/x86/kernel/traps_64.c 2008-02-03 00:38:10.000000000 +0300
@@ -1196,8 +1196,9 @@ early_param("kstack", kstack_setup);
static int __init code_bytes_setup(char *s)
{
code_bytes = simple_strtoul(s, NULL, 0);
- if (code_bytes > 8192)
- code_bytes = 8192;
+
+ /* we don't want too long code-dump */
+ code_bytes &= 8191;

return 1;
}