Re: [PATCH 4/6] x86/gsseg: move local_irq_save/restore() into asm_load_gs_index()

From: H. Peter Anvin
Date: Fri Oct 07 2022 - 13:48:19 EST


On October 7, 2022 7:50:01 AM PDT, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>On Thu, Oct 06, 2022 at 08:40:39AM -0700, Xin Li wrote:
>> SYM_FUNC_START(asm_load_gs_index)
>> FRAME_BEGIN
>> + pushf
>> + pop %rax
>> + andl $X86_EFLAGS_IF, %eax /* Interrupts enabled? */
>> + jz 1f
>> + cli
>> +1:
>
>Why the pop,andl,jz ? AFAICT our arch_local_irq_save() doesn't even
>bother with that, why does this function.

They pop and and are needed for the sti anyway, and so might as well be leveraged here, too.