Re: x86: 4kstacks default
From: Eric Sandeen
Date: Sat Apr 19 2008 - 23:29:26 EST
Ingo Molnar wrote:
> * Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
>
>>> config 4KSTACKS
>>> bool "Use 4Kb for kernel stacks instead of 8Kb"
>>> - depends on DEBUG_KERNEL
>>> depends on X86_32
>>> + default y
>> This patch will cause kernels to crash.
>
> what mainline kernels crash and how will they crash? Fedora and other
> distros have had 4K stacks enabled for years:
>
> $ grep 4K /boot/config-2.6.24-9.fc9
> CONFIG_4KSTACKS=y
>
> and we've conducted tens of thousands of bootup tests with all sorts of
> drivers and kernel options enabled and have yet to see a single crash
> due to 4K stacks.
Really, not one?
https://bugzilla.redhat.com/show_bug.cgi?id=247158
https://bugzilla.redhat.com/show_bug.cgi?id=227331
https://bugzilla.redhat.com/show_bug.cgi?id=240077
(hehe, ok, xfs is a common component there...)
and it's not always obvious that you've overflowed the stack.
CONFIG_DEBUG_STACKOVERFLOW isn't ery useful because the warning printk
it generates uses the remaining amount of stack, and tips the box.
> So basically the kernel default just follows the
> common distro default now. (distros and users can still disable it)
If Fedora is the common distro, ok. :)
Fedora is a pretty narrow sample in terms of IO stacks at least. I have
plenty of fondness for Fedora, but it's almost 100% ext3[1]. I spent a
fair amount of time getting xfs+lvm to survive 4k on F8; gcc caused
stack usage to grow in general from F7 to F8, and F9 seems to have
gotten tight again but I haven't gotten to the bottom of yet.
Heck my ext3-root-on-sda1 pre-beta F9 box, no nfs or lvm or xfs or
anything gets within 744 bytes of the end of the 4k stack simply by
*booting* (it was a modprobe process... maybe some module needs help)
How many other distros use 4K stacks on x86, really?
-Eric
[1] http://www.smolts.org/static/stats/stats.html shows 24588 ext3
filesystems, compared to 366 xfs, 248 reiserfs, 76 jfs ...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/