User: Password:
|
|
Subscribe / Log in / New account

4K stacks by default?

4K stacks by default?

Posted Apr 24, 2008 4:17 UTC (Thu) by bronson (subscriber, #4806)
Parent article: 4K stacks by default?

Is four years of talking about 4K stacks enough?  You can prepare and prepare for decades and
still not be certain you've caught everything.  There comes a time when you just the switch
and fix anything that breaks.  I hope that time is soon.

Is there some way to allocate a 12K chunk and use it as the stack when ndiswrapper calls into
Windows code?  Seems easy enough to me, but I come from a day when kernels and memory
architectures were a LOT simpler.  :)



(Log in to post comments)

4K stacks by default?

Posted Apr 24, 2008 12:42 UTC (Thu) by pr1268 (subscriber, #24648) [Link]

Is four years of talking about 4K stacks enough? You can prepare and prepare for decades and still not be certain you've caught everything. There comes a time when you just the switch and fix anything that breaks. I hope that time is soon.

Having read Jake's article, I was under the impression that the bigger issue wasn't about the impact of defaulting to 4K stacks, but rather how the patch submission showed a total disregard for the following the established procedure. IMO this smacks of some ulterior motive of trying to "sneak" by the senior kernel developers, especially given the controversy of the patch. But then again, I often entertain harebrained conspiracy theories, so don't mind me. ;-)

I do agree with your comment, though.

Here's a different, more constructive conspiracy theory: Perhaps the submitter knew full well that this patch would be caught despite the clandestine technique used, and he/she wanted to stimulate a discussion on defaulting to 4K stacks--after all, four years is a long time to keep this patch in mainline only to have it disabled by default. Of course, this wouldn't explain why the submitter didn't just announce the change and ask for comments on the LKML...

I've run 4K stacks on vanilla kernels for several years now without any issues, even with proprietary NVIDIA graphics drivers (I know, I know!). I do remember having to keep 8K stacks on my laptop prior to 2.6.17 with a Broadcomm Wifi card and NDISWrapper (need I say more?).

4K stacks by default?

Posted Apr 24, 2008 23:01 UTC (Thu) by dvdeug (subscriber, #10998) [Link]

Why does this switch need to be done? If 8k stacks have worked for years, then they should be
fine at least until the last x86 desktop/server is as common as Vaxen are now. Why not leave
it as an option for those who really need it?

4K stacks by default?

Posted Apr 24, 2008 23:56 UTC (Thu) by zlynx (subscriber, #2285) [Link]

I believe the RHEL support engineers were finding systems with mysterious fork/clone failures
that were caused by the kernel not being able to find 8K of continuous memory.  It's really
easy to allocate 4K since it's the i386 page size, but two pages next to each other can fail.
Big Java programs using a lot of threads would fail to get a new thread.  Apache servers would
fail to spawn a new child.  Etc.

However, since then (2.6.16?) the memory system has also been reworked a bunch and I don't
know if it's still such a problem to get a 8K alloc.

You *would* think those big programs would now be running on x86_64 systems with the 8K stacks
and having the same problems, if they still existed.  Or maybe they get around it by
installing 16 GB RAM instead.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds