Re: [PATCH][8/8] Arch agnostic completely out of line locks / x86_64

From: Andi Kleen
Date: Mon Sep 06 2004 - 12:58:20 EST


On Mon, Sep 06, 2004 at 12:19:24PM -0400, Zwane Mwaikambo wrote:
> Hi Andi,
>
> On Mon, 6 Sep 2004, Andi Kleen wrote:
>
> > That is with frame pointers enabled. Indeed with frame pointers
> > on it is not true you still have to special case that.
>
> Yes that was with frame pointers enabled, but the following was compiled
> without frame pointers, i'm still not sure it's safe to use *esp.

No, it's not unfortunately. gcc is aligning the stack
to 8 bytes for floating point. It would if you compiled the file with
-mpreferred-stack-boundary=4. Actually AFAIK this is only useful
for floating point anyways, so it would be a good idea to always
compile the kernel with this option.

On x86-64 it should just work.

-Andi



>
> 00000070 <_spin_lock>:
> 70: 83 ec 04 sub $0x4,%esp
-
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/