Commit edf6250b authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] i386: put irq stacks in .bss.page_aligned section

From: Matt Mackall <mpm@selenic.com>

I noticed that my vmlinux BSS had grown from 17k to 45k between 2.6.5 and
2.6.6.  8k was moving a pair of objects in head.S from the text section to
bss, 8k was the introduction of IRQ stacks, while the remainder (12k) was
page alignment slop, some of it spurious.  The following patch brings BSS
down to the expected 33k.

Throw the IRQ stacks into the page aligned section to avoided wasted BSS
space.  While we'd expect this to save up to 4k, this saves over 10k of BSS
here due to gcc3.3 spuriously aligning other objects in the vicinity.
Signed-off-by: default avatarMatt Mackall <mpm@selenic.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 3a76313b
...@@ -1117,8 +1117,8 @@ void init_irq_proc (void) ...@@ -1117,8 +1117,8 @@ void init_irq_proc (void)
#ifdef CONFIG_4KSTACKS #ifdef CONFIG_4KSTACKS
static char softirq_stack[NR_CPUS * THREAD_SIZE] __attribute__((__aligned__(THREAD_SIZE))); static char softirq_stack[NR_CPUS * THREAD_SIZE] __attribute__((__aligned__(THREAD_SIZE), __section__(".bss.page_aligned")));
static char hardirq_stack[NR_CPUS * THREAD_SIZE] __attribute__((__aligned__(THREAD_SIZE))); static char hardirq_stack[NR_CPUS * THREAD_SIZE] __attribute__((__aligned__(THREAD_SIZE), __section__(".bss.page_aligned")));
/* /*
* allocate per-cpu stacks for hardirq and for softirq processing * allocate per-cpu stacks for hardirq and for softirq processing
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment