Re: [patch 09/10] sched/core: Add migrate_disable/enable()

From: Sebastian Siewior
Date: Thu Sep 17 2020 - 10:43:29 EST


On 2020-09-17 16:24:38 [+0200], peterz@xxxxxxxxxxxxx wrote:
> And if I'm not mistaken, the above migrate_enable() *does* require being
> able to schedule, and our favourite piece of futex:
>
> raw_spin_lock_irq(&q.pi_state->pi_mutex.wait_lock);
> spin_unlock(q.lock_ptr);
>
> is broken. Consider that spin_unlock() doing migrate_enable() with a
> pending sched_setaffinity().

There are two instances of the above and only in the futex code and we
have sort of duct tape for that by manually balancing the migrate
counter so that it does not come to this.
But yes, not having to do the manual balance is a plus.

Sebastian