On Thu, Sep 17, 2020 at 05:13:41PM +0200, Sebastian Siewior wrote: > On 2020-09-17 16:49:37 [+0200], pet...@infradead.org wrote: > > 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? > > Of course it would be better not to need the duct tape. > Also symmetrical locking is what you want but clearly futex is one of > a kind. > > I'm currently not aware of any issues in the FPU code in regard to this. > A few weeks ago, I was looking for this kind of usage and only futex > popped up.
I'm not sure what the problem with FPU was, I was throwing alternatives at tglx to see what would stick, in part to (re)discover the design constraints of this thing. One reason for not allowing migrate_disable() to sleep was: FPU code. Could it be it does something like: preempt_disable(); spin_lock(); spin_unlock(); preempt_enable(); Where we'll never get preempted while migrate_disable()'d and thus never trigger any of the sleep paths?