title: Linux Stack Sizes
body: <p>I'm looking for a good description of stacks within the linux kernel, but I'm finding it surprisingly difficult to find anything useful.</p>
  
  <p>I know that stacks are limited to 4k for most systems, and 8k for others.  I'm assuming that each kernel thread / bottom half has its own stack.  I've also heard that if an interrupt goes off, it uses the current thread's stack, but I can't find any documentation on any of this.  What I'm looking for is how the stacks are allocated, if there's any good debugging routines for them (I'm suspecting a stack overflow for a particular problem, and I'd like to know if its possible to compile the kernel to police stack sizes, etc).</p>