Re: [PATCH 01/25] x86: Make SMAP 64-bit only

From: Linus Torvalds
Date: Mon Mar 18 2019 - 14:16:19 EST


On Mon, Mar 18, 2019 at 10:51 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> How about I do a patch that schedules EFLAGS for both 32bit and 64bit,
> mark this for backporting to infinity.
>
> And then at the end, after the objtool-ac bits land, I do a patch
> removing the EFLAGS scheduling for x86_64.

Sounds sane to me.

And we can make it AC-conditional if it's actually shown to be visible
from a performance standpoint.

But iirc pushf/popf isn't really that expensive - in fact I think it's
pretty cheap when system flags don't change. Which would be the common
case unless you'd also make the popf do the irq restore part and
simply make finish_lock_switch() re-enable irq's by doing an
irqrestore?

I think popf is like 20 cycles or something (and pushf is just single
cycles). Probably not worth worrying about in the task switch context.

Linus