public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Put irq stacks in .bss.page_aligned section
@ 2004-05-25 19:30 Matt Mackall
  0 siblings, 0 replies; only message in thread
From: Matt Mackall @ 2004-05-25 19:30 UTC (permalink / raw)
  To: linux-kernel, Andrew Morton, Arjan van de Ven

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: Matt Mackall <mpm@selenic.com>

Index: tiny/arch/i386/kernel/irq.c
===================================================================
--- tiny.orig/arch/i386/kernel/irq.c	2004-05-09 14:23:03.000000000 -0500
+++ tiny/arch/i386/kernel/irq.c	2004-05-25 14:20:24.000000000 -0500
@@ -1125,8 +1125,8 @@
 
 
 #ifdef CONFIG_4KSTACKS
-static char softirq_stack[NR_CPUS * THREAD_SIZE]  __attribute__((__aligned__(THREAD_SIZE)));
-static char hardirq_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), __section__(".bss.page_aligned")));
 
 /*
  * allocate per-cpu stacks for hardirq and for softirq processing


-- 
Mathematics is the supreme nostalgia of our time.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-05-25 19:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-05-25 19:30 [PATCH] Put irq stacks in .bss.page_aligned section Matt Mackall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox