sched-ext / scx

sched_ext schedulers and tools
https://bit.ly/scx_slack
GNU General Public License v2.0
844 stars 79 forks source link

scx_rustland: get rid of --builtin-idle option #325

Closed arighi closed 4 months ago

arighi commented 4 months ago

Commit 23b0bb5f ("scx_rustland: dispatch interactive tasks on any CPU") allows only interactive tasks to be dispatched on any CPU, enabling them to quickly use the first idle CPU available. Non-interactive tasks, on the other hand, are kept on the same CPU as much as possible.

This change deprioritizes CPU-intensive tasks further, but it also helps to exploit cache locality, while latency-sensitive tasks are dispatched sooner, improving overall responsiveness, despite the potential migration cost.

Given this new logic, the built-idle option, which forces all tasks to be dispatched on the CPU assigned during select_cpu(), no longer offers significant benefits. It would merely reduce the responsiveness of interactive tasks.

Therefore, simply remove this option, allowing the scheduler to determine the target CPU(s) for all tasks based on their nature.

Fixes: 23b0bb5f ("scx_rustland: dispatch interactive tasks on any CPU")