On Thu, Sep 17, 2020 at 04:38:50PM +0200, Sebastian Siewior wrote: > On 2020-09-17 16:24:38 [+0200], pet...@infradead.org 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.
I'm aware of the duct-tape :-) But I was under the impression that we didn't want the duct-tape, and that there was lots of issues with the FPU code, or was that another issue?