-
Notifications
You must be signed in to change notification settings - Fork 182
scx_central: Handle migration disabled tasks #2843
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
base: main
Are you sure you want to change the base?
scx_central: Handle migration disabled tasks #2843
Conversation
The task in the qmap may be migration disabled, don't dispatch it to a local DSQ in that case but bounce it back to the fallback, too. Signed-off-by: Christian Loehle <[email protected]>
So @arighi this is the obvious fix for the reported issue for central, but it still triggers (although much more rarely):
or another one:
|
Thanks @cloehle , out of curiousity can you reproduce this also with scx_tickless? |
* bounce it to the fallback dsq. | ||
*/ | ||
if (!bpf_cpumask_test_cpu(cpu, p->cpus_ptr)) { | ||
if (!bpf_cpumask_test_cpu(cpu, p->cpus_ptr) || is_migration_disabled(p)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we're in ops.dispatch()
I think we need to check p->migration_disabled
directly here. Can you try this instead of using is_migration_disabled()
?
The task in the qmap may be migration disabled, don't dispatch it to a local DSQ in that case but bounce it back to the fallback, too.
See
#2825