Re: About 4k kernel stack size....

From: Chase Venters
Date: Tue Dec 20 2005 - 13:05:38 EST


On Tue, 20 Dec 2005, linux-os \(Dick Johnson\) wrote:
See, isn't rule-making fun? This whole 4k stack-
thing is really dumb. Other operating systems
use paged virtual memory for stacks, except
for the interrupt stack. If Linux used paged
virtual memory for stacks, the pages would not
have to be contiguous so dynamic stack allocation
would practically never fail. But Linux doesn't
use paged virtual memory for stacks. So, there
needs to be some rule to control the amount
of kernel stack allocated to each task when it
executes a system call.

Pardon, but why should "Other operating systems use paged virtual memory for stacks" have anything to do with the design of Linux? Other operating systems also look for a file called AUTORUN.INF whenever you insert a CD, and they'll happily run arbitrary code... which is great when you're a motherboard manufacturer providing crappy drivers on a crappy CD with crappy artwork and you want to play a jingle before slapping a hideous GUI up in front of your unsuspecting user; or perhaps you're Sony and you want to hook people's kernel such that you become a sort of media hypervisor. And this is the most deployed OS in the game...

Linux is a kernel - not a perl script. Programmer laziness is about the only excuse I've been able to spot in this discussion that has been raised in support of big stacks. (Perhaps all the arguments against aren't worded as such; but as far as I've seen they all reduce to it).

If Linux used 4k stacks, we wouldn't have to worry about virtual memory *or* contiguous allocations.

- Chase
-
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/