Re: 4k stacks

From: Denis Vlasenko
Date: Sat Dec 24 2005 - 07:09:18 EST


On Thursday 22 December 2005 23:53, linux-os (Dick Johnson) wrote:
>
> 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.

+ movl %esp, %edi
+ movl %edi, %ecx
+ andl $~0x1000, %edi
+ subl %edi, %ecx

ecx will be equal to ?

+ movb $'Q', %al
+ rep stosb
--
vda
-
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/