Re: [tip:x86/asm] sched/x86_64: Don't save flags on context switch

From: Andy Lutomirski
Date: Mon Nov 03 2014 - 16:12:22 EST


On Tue, Oct 28, 2014 at 4:14 AM, tip-bot for Andy Lutomirski
<tipbot@xxxxxxxxx> wrote:
> Commit-ID: 2c7577a7583747c9b71f26dced7f696b739da745
> Gitweb: http://git.kernel.org/tip/2c7577a7583747c9b71f26dced7f696b739da745
> Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
> AuthorDate: Wed, 1 Oct 2014 11:28:25 -0700
> Committer: Ingo Molnar <mingo@xxxxxxxxxx>
> CommitDate: Tue, 28 Oct 2014 11:11:30 +0100
>
> sched/x86_64: Don't save flags on context switch
>
> Now that the kernel always runs with clean flags (in particular,
> NT is clear), there is no need to save and restore flags on
> every context switch.

Just to make myself a little more comfortable with this...

There is one potentially relevant flag: AC. I think this is still OK.
If we schedule with STAC set, then we've already screwed up, I think.
Even preempt schedules from interrupt context, so if we schedule due
to preemption or #PF in the middle of uaccess, AC should be saved and
cleared by whatever interrupt caused the reschedule, right?

And do we ever have TF set during a context switch? I hope not.

Also, what's with 'jmp exit_intr' at the end of retint_kernel? Why
isn't that 'jmp retint_kernel'?

--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/