x86: 4kstacks default
From: | David Chinner <dgc@sgi.com> | |
To: | Eric Sandeen <sandeen@sandeen.net> | |
Subject: | Re: x86: 4kstacks default | |
Date: | Mon, 21 Apr 2008 08:53:11 +1000 | |
Message-ID: | <20080420225311.GI108924158@sgi.com> | |
Cc: | Arjan van de Ven <arjan@infradead.org>, Shawn Bohrer <shawn.bohrer@gmail.com>, Ingo Molnar <mingo@elte.hu>, Andrew Morton <akpm@linux-foundation.org>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Thomas Gleixner <tglx@linutronix.de> | |
Archive‑link: | Article |
On Sat, Apr 19, 2008 at 09:36:16PM -0500, Eric Sandeen wrote: > Arjan van de Ven wrote: > > > On the flipside the arguments tend to be > > 1) certain stackings of components still runs the risk of overflowing > > 2) I want to run ndiswrapper > > 3) general, unspecified uneasyness. > > > > For 1), we need to know which they are, and then solve them, because even on x86-64 with 8k stacks > > they can be a problem (just because the stack frames are bigger, although not quite double, there). > > Except, apparently, not, at least in my experience. > > Ask the xfs guys if they see stack overflows on x86_64, or on x86. We see them regularly enough on x86 to know that the first question to any strange crash is "are you using 4k stacks?". In comparison, I have never heard of a single stack overflow on x86_64.... > I've personally never seen common stack problems with xfs on x86_64, but > it's very common on x86. I don't have a great answer for why, but > that's my anecdotal evidence. Why? Because XFS makes extensive use of 64 bit types and so stack usage in the critical paths changes by a relatively small amount between 32 bit and 64 bit machines. IIRC, x86_64 only uses about 30% more stack than x86. So given that the stack doubles on x86_64 and we only increase usage (in XFS) from about 1500 bytes to 2000 bytes of stack usage, we have *lots* more stack space to spare on x86_64 compared to 4k stacks on x86.... Cheers, Dave. -- Dave Chinner Principal Engineer SGI Australian Software Group