Re: Perf: WARNING: arch/x86/entry/common.c:624 idtentry_exit_cond_rcu+0x92/0xc0

From: Thomas Gleixner
Date: Fri Jun 12 2020 - 05:01:27 EST


Andy Lutomirski <luto@xxxxxxxxxx> writes:
> On Thu, Jun 11, 2020 at 4:22 PM Andy Lutomirski <luto@xxxxxxxxxx> wrote:
>
> Two bugs here.
>
> 1. We had an issue with WARN. Patch sent.

Grabbed it

> 2. idtentry.h has, for x86_32:
>
> # define DEFINE_IDTENTRY_IST DEFINE_IDTENTRY
>
> This is nonsense. It's getting late over here and I'd rather focus on
> the more interesting RCU issue, so that's all from me today.

Well, this might be nonsense, but it's exactly matching the current code
in mainline which, e.g. for #DB does:

SYM_CODE_START(debug)
/*
* Entry from sysenter is now handled in common_exception
*/
ASM_CLAC
pushl $0
pushl $do_debug
jmp common_exception
SYM_CODE_END(debug)

There is no IST on 32bit, never was. We do software stack switching for
device interrupts, but that's a different story.

Thanks,

tglx