Re: [PATCH] x86: Clean up stack access code in irq_32.c

From: Chuck Ebbert
Date: Sun Oct 12 2014 - 15:34:33 EST

On Sun, 12 Oct 2014 10:13:33 -0700
"H. Peter Anvin" <hpa@xxxxxxxxx> wrote:

> That's not a justification for change. Claiming no harm is nevessary but not sufficient.

The optimization is also a little better with GCC when using C
instead of asm for current_stack_pointer. Probably not enough better
to do different macros for gcc and other compilers though.

clang actually moves %esp to memory and then into another register
instead of moving it directly when using the current macro. Their
optimizer really needs some work...

> On October 12, 2014 9:53:32 AM PDT, Chuck Ebbert <cebbert.lkml@xxxxxxxxx> wrote:
> >On Sun, 12 Oct 2014 09:47:53 -0700
> >"H. Peter Anvin" <hpa@xxxxxxxxx> wrote:
> >
> >[replying to the list this time, sigh]
> >
> >> We changed this to asm because the C broke some compilers. Why are
> >you changing it back?
> >>
> >
> >The C broke some compilers because it was using a global register
> >variable. This is a local one, which the clang documentation says is
> >supported. And I compiled it with clang with no problem.
> >
> >> On October 12, 2014 9:43:53 AM PDT, Chuck Ebbert
> ><cebbert.lkml@xxxxxxxxx> wrote:
> >> >Use C instead of asm for accessing the stack pointer. And define
> >some
> >> >macros to make the code easier to understand.
> >> >

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at