Messages in this thread | | | Date | Thu, 17 Sep 2020 17:54:10 +0200 | From | peterz@infradea ... | Subject | Re: [patch 09/10] sched/core: Add migrate_disable/enable() |
| |
On Thu, Sep 17, 2020 at 05:13:41PM +0200, Sebastian Siewior wrote: > On 2020-09-17 16:49:37 [+0200], peterz@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?
| |