Re: x86: 4kstacks default

From: Arjan van de Ven
Date: Wed Apr 23 2008 - 20:45:41 EST


On Thu, 24 Apr 2008 09:36:52 +1000
David Chinner <dgc@xxxxxxx> wrote:

> On Wed, Apr 23, 2008 at 03:27:01PM +1000, Benjamin Herrenschmidt
> wrote:
> > On Sat, 2008-04-19 at 16:23 +0200, 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. So basically the kernel default
> > > just follows the common distro default now. (distros and users
> > > can still disable it)
> >
> > Do we routinely test nasty scenarii such as a GFP_KERNEL allocation
> > deep in a call stack trying to swap something out to NFS ?
>
> I doubt it, because this is the place that a local XFS filesystem
> typically blows a 4k stack (direct memory reclaim triggering
> ->writepage). Boot testing does nothing to exercise the potential
> paths for stack overflows....
>

THe good news is that direct reclaim is.. rare.
And I also doubt XFS is unique here; imagine the whole stacking thing on x86-64 just the same ...

I wonder if the direct reclaim path should avoid direct reclaim if the stack has only X bytes left.
(where the value of X is... well we can figure that one out later)

The rarity of direct reclaim during normal use ought to make this not a performance problem per se,
and the benefits go further than just "XFS" or "4K stacks".

--
If you want to reach me at my work email, use arjan@xxxxxxxxxxxxxxx
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
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/