[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <p73slaiys9v.fsf@bingen.suse.de>
Date: 30 Apr 2007 14:13:16 +0200
From: Andi Kleen <andi@...stfloor.org>
To: Christoph Hellwig <hch@...radead.org>
Cc: Andi Kleen <andi@...stfloor.org>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
David Chinner <dgc@....com>, Zan Lynx <zlynx@....org>,
Adrian Bunk <bunk@...sta.de>,
Linux Kernel <linux-kernel@...r.kernel.org>
Subject: Re: [-mm patch] i386: enable 4k stacks by default
Christoph Hellwig <hch@...radead.org> writes:
> On Mon, Apr 30, 2007 at 12:26:42PM +0200, Andi Kleen wrote:
> > Alan Cox <alan@...rguk.ukuu.org.uk> writes:
> >
> > > If this still occurs for some
> > > combinations then the fix would be 8K + 4K IRQ stack, not just to use 8K
> > > stack
> >
> > Yes i've been thinking for some time doing that would be a good idea.
>
> Yes, the non-irqstack case should definitively go away. And 8k
> kernel stacks isn't that little given how much most 64bit architectures
> have.
Actually looking at the code it would need some fixes first:
/*
* These should really be __section__(".bss.page_aligned") as well, but
* gcc's 3.0 and earlier don't handle that correctly.
*/
static char softirq_stack[NR_CPUS * THREAD_SIZE]
__attribute__((__aligned__(THREAD_SIZE)));
static char hardirq_stack[NR_CPUS * THREAD_SIZE]
__attribute__((__aligned__(THREAD_SIZE)));
With 8K stacks and NR_CPUS==128 that would be 2MB statically reserved. Yuck.
Really needs to be dynamically allocated. I'll take a look once the .22
big merge is done.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists