Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 1 commit into from
Jun 3, 2024

Conversation

arighi
Copy link
Contributor

@arighi arighi commented Jun 3, 2024

Commit 23b0bb5 ("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: 23b0bb5 ("scx_rustland: dispatch interactive tasks on any CPU")

Commit 23b0bb5 ("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: 23b0bb5 ("scx_rustland: dispatch interactive tasks on any CPU")
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
@arighi arighi merged commit 85e1fc5 into main Jun 3, 2024
1 check passed
@arighi arighi deleted the rustland-drop-builtin-idle branch June 3, 2024 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants