Re: [patch V4 part 3 04/29] x86/traps: Make interrupt enable/disable symmetric in C code

From: Alexandre Chartre
Date: Thu May 07 2020 - 11:28:00 EST



On 5/5/20 3:43 PM, Thomas Gleixner wrote:
Traps enable interrupts conditionally but rely on the ASM return code to
disable them again. That results in redundant interrupt disable and trace
calls.

Make the trap handlers disable interrupts before returning to avoid that,
which allows simplification of the ASM entry code.

Originally-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

---
arch/x86/kernel/traps.c | 28 +++++++++++++++++++---------
arch/x86/mm/fault.c | 15 +++++++++++++--
2 files changed, 32 insertions(+), 11 deletions(-)


So this patch makes C trap handlers disable interrupts on return but there's no
change to the ASM entry code, which will still (also) disable interrupts. I suppose
this is cleaned up in a next patch. So it's worth mentioning that the "simplification
of the ASM entry code" is not in this patch.

alex.