Reconsidering the scheduler's wake_wide() heuristic
Reconsidering the scheduler's wake_wide() heuristic
Posted Jul 31, 2017 5:55 UTC (Mon) by josefbacik (subscriber, #90083)Parent article: Reconsidering the scheduler's wake_wide() heuristic
However I did come up with a different solution while looking at a CPU imbalance problem (https://josefbacik.github.io/kernel/scheduler/cgroup/2017...). Mike is right, any messing with the heuristic here is likely to end in tears. A problem with wake_wide is overloading the waker CPU when it decides we need affinity, even on heavily loaded systems. Instead of messing with wake_wide and trying to make it smarter I just addressed the problem it sometimes creates, ping-ponging. One of my patches provides a way to detect when we are trying to wake affine something that has been recently load balanced and skip the wake affine. This gets us the same behavior as if wake_wide returned 1 and side steps the problem of trying to do a one size fits most heuristic in wake_wide.