On Wed, Sep 23, 2020 at 10:31:10AM +0200, Thomas Gleixner wrote: > In practice migrate disable could be taken into account on placement > decisions, but yes we don't have anything like that at the moment.
I think at the very least we should do some of that. The premise is wanting to run the M highest priority tasks, when a CPU drops priority, it tries to PULL a higher priority task towards itself. If this PULL selects a migrate_disable() tasks, it means the task is in the M highest prio tasks. Since obviously that task cannot get pulled, we should then pull the current running task of that CPU, this would then allow the migrate_disable() task to resume execution. I'll go try and cook up something along those lines...