Re: sched: Reenable interrupts in do sched_yield()

From: Steven Rostedt
Date: Tue Oct 20 2020 - 11:38:36 EST


On Tue, 20 Oct 2020 16:46:55 +0200
Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:

> - /*
> - * Since we are going to call schedule() anyway, there's
> - * no need to preempt or enable interrupts:

I think the above comment still makes sense, just needs to be tweeked:

/*
* Since we are going to call schedule() anyway, there's
* no need to allow preemption after releasing the rq lock.
> - */

Especially, since we are now enabling interrupts, which is likely to
trigger a preemption.

-- Steve

> preempt_disable();
> - rq_unlock(rq, &rf);
> + rq_unlock_irq(rq, &rf);
> sched_preempt_enable_no_resched();
>
> schedule();