Re: [patch V4 part 5 02/31] x86/entry: Provide helpers for execute on irqstack

2020-05-11 Thread Thomas Gleixner
Alexandre Chartre writes: > On 5/5/20 3:53 PM, Thomas Gleixner wrote: >> +__this_cpu_add(irq_count, 1); \ >> +asm volatile( \ >> +"pushq %%rbp \n" \ >> +

Re: [patch V4 part 5 02/31] x86/entry: Provide helpers for execute on irqstack

2020-05-11 Thread Alexandre Chartre
On 5/5/20 3:53 PM, Thomas Gleixner wrote: Device interrupt handlers and system vector handlers are executed on the interrupt stack. The stack switch happens in the low level assembly entry code. This conflicts with the efforts to consolidate the exit code in C to ensure correctness vs. RCU and

Re: [patch V4 part 5 02/31] x86/entry: Provide helpers for execute on irqstack

2020-05-09 Thread Lai Jiangshan
On Tue, May 5, 2020 at 10:19 PM Thomas Gleixner wrote: > > Device interrupt handlers and system vector handlers are executed on the > interrupt stack. The stack switch happens in the low level assembly entry > code. This conflicts with the efforts to consolidate the exit code in C to > ensure corr

Re: [patch V4 part 5 02/31] x86/entry: Provide helpers for execute on irqstack

2020-05-06 Thread Thomas Gleixner
Thomas Gleixner writes: > That also allows to move the xen hypercall extra magic code and the softirq > stack switching into C. > > The mechanism is straight forward: > > 1) Store the current stack pointer on top of the interrupt stack. That's > required for the unwinder. > > 2) Switch t

[patch V4 part 5 02/31] x86/entry: Provide helpers for execute on irqstack

2020-05-05 Thread Thomas Gleixner
Device interrupt handlers and system vector handlers are executed on the interrupt stack. The stack switch happens in the low level assembly entry code. This conflicts with the efforts to consolidate the exit code in C to ensure correctness vs. RCU and tracing. As there is no way to move #DB away