Re: [PATCH] remove LOCK_SECTION from x86_64 spin_lock asm

From: Andi Kleen
Date: Thu Sep 16 2004 - 01:17:06 EST


On Wed, Sep 15, 2004 at 02:45:23PM -0700, Andrew Morton wrote:
> Zwane Mwaikambo <zwane@xxxxxxxxxxx> wrote:
> >
> > William spotted this stray bit, LOCK_SECTION isn't used anymore on x86_64.
>
> btw, Ingo and I were scratching heads over an x86_64 oops in curent -linus
> trees.
>
> If you enable profiling and frame pointers, profile_pc() goes splat
> dereferencing the `regs' argument when it decides that the pc refers to a
> lock section. Ingo said `regs' had a value of 0x2, iirc. Consider this a
> bug report ;)

Known problem. Interrupts don't save regs->rbp, but the new profile_pc
that was introduced recently uses it.

One quick fix is to just use SAVE_ALL in the interrupt entry code,
but I don't like this because it will affect interrupt latency.

The real fix is to fix profile_pc to not reference it.

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