4k stacks

From: linux-os (Dick Johnson)
Date: Thu Dec 22 2005 - 16:52:31 EST




Yesterday I sent a patch to add stack-poison so the stack usage
could be observed.

Today I wrote a small program and tested the stack usage. Both
the program and the patch is attached. The result is:

Offset : 2ec8f000 Available Stack bytes = 3104
Offset : 2ecb1000 Available Stack bytes = 3104
Offset : 2ee5f000 Available Stack bytes = 20
Offset : 2f36d000 Available Stack bytes = 3104
Offset : 2fd09000 Available Stack bytes = 3012
Offset : 2fd0b000 Available Stack bytes = 3312
Offset : 2fd0f000 Available Stack bytes = 2132
Offset : 2fd2f000 Available Stack bytes = 2744
Offset : 2fd57000 Available Stack bytes = 2900
Offset : 2fdd5000 Available Stack bytes = 1400
Offset : 2fe35000 Available Stack bytes = 2832
Offset : 2ff3f000 Available Stack bytes = 776
Offset : 2ff45000 Available Stack bytes = 3188

This, after compiling the kernel. I did not have 4k stacks
enabled for this test so any crashing of the stack beyond
one page will not hurt the system. This was on linux-2.6.13.4.

Anyway, I tried to enable 4k stacks and the machine would
not boot past trying to install the first module. It just
stopped with the interrupts disabled. So, I am now rebuilding
the kernel back as I write this. That's why I am using 2.6.13
at the moment.

Anyway, getting down to 20 bytes of stack-space available
seems to be pretty scary.


Cheers,
Dick Johnson
Penguin : Linux version 2.6.13 on an i686 machine (5589.54 BogoMips).
Warning : 98.36% of all statistics are fiction.


****************************************************************
The information transmitted in this message is confidential and may be privileged. Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited. If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to DeliveryErrors@xxxxxxxxxxxx - and destroy all copies of this information, including any attachments, without reading or disclosing them.

Thank you.

Attachment: stack.tar.gz
Description: stack.tar.gz