Messages in this thread | | | Date | Sat, 16 Feb 2019 00:34:14 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH] sched/x86: Save [ER]FLAGS on context switch |
| |
On Fri, Feb 15, 2019 at 06:40:34PM +0100, Peter Zijlstra wrote: > On Fri, Feb 15, 2019 at 09:18:00AM -0800, Linus Torvalds wrote: > > On Thu, Feb 14, 2019 at 11:34 AM Peter Zijlstra <peterz@infradead.org> 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, > > Uhmm. yeah, that's bonkers. We should have interrupts disabled here. > I'll go read up on the eflags and figure out what they _should_ be right > about there.
I misread (I'm forever confused about what way around IF goes), but you said it right; IF=0 is interrupts disabled and we very much have that in the middle of context switch.
(just for giggles I set IF for the initial flags value; and it comes unstuck _real_ quick)
Now, EFLAGS bit 1 is supposedly always 1, but it really doesn't seem to matter for POPF.
I went through the other flags, and aside from VIP/VIF (I've no clue), they looks like 0 should be just fine.
| |