Re: [PATCH] sched/x86: Save [ER]FLAGS on context switch

From: Linus Torvalds
Date: Fri Feb 15 2019 - 12:18:24 EST


On Thu, Feb 14, 2019 at 11:34 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> Something like the below, right?
>
> + frame->flags = 0;
> + frame->flags = 0;

Those are not valid flag values.

Can you popf them? Yes.

Do they make sense? No.

It has the IF flag clear, for example. Is that intentional? If it is,
it should likely be documented. Because IF clear means "interrupts
disabled". Are the places that load flags in irq disabled regions?
Maybe they are, maybe they aren't, but shouldn't this be something
that is made explicit, rather than "oh, let's initialize to zero like
all the other registers we don't care about".

Because a zero initializer for eflags really is odd.

Linus