Re: stack overflow on Sparc64

From: Mikulas Patocka
Date: Fri Jun 20 2008 - 18:36:29 EST


On Fri, 20 Jun 2008, David Miller wrote:

From: Mikulas Patocka <mpatocka@xxxxxxxxxx>
Date: Fri, 20 Jun 2008 18:22:33 -0400 (EDT)

On Fri, 20 Jun 2008, David Miller wrote:

From: David Miller <davem@xxxxxxxxxxxxx>
Date: Fri, 20 Jun 2008 14:44:24 -0700 (PDT)

I agree on both counts. Although I'm curious what the average stack
frame sizes look like on x86_64 and i386, and also how this area
appears on powerpc.

I also one to mention in passing that another thing we can do to
help deep call stack sizes is to make call chains more tail-call
friendly when possible.

... and remove -fno-optimize-sibling-calls?:

Makefile:
ifdef CONFIG_FRAME_POINTER
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
else
KBUILD_CFLAGS += -fomit-frame-pointer
endif

--- maybe it could be better to remove it, instead of some inlining that I
made. Or do you see a situation when for debugging purpose, user would
want -fno-optimize-sibling-calls?

Yes for debugging and other things it has to stay.

If you want it to stay, then it doesn't make sense to make functions tail-call-friendly --- because it should not crash with or without debugging.

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