• Tejun Heo's avatar
    sched_ext: Make task_can_run_on_remote_rq() use common task_allowed_on_cpu() · 2c390dda
    Tejun Heo authored
    task_can_run_on_remote_rq() is similar to is_cpu_allowed() but there are
    subtle differences. It currently open codes all the tests. This is
    cumbersome to understand and error-prone in case the intersecting tests need
    to be updated.
    
    Factor out the common part - testing whether the task is allowed on the CPU
    at all regardless of the CPU state - into task_allowed_on_cpu() and make
    both is_cpu_allowed() and SCX's task_can_run_on_remote_rq() use it. As the
    code is now linked between the two and each contains only the extra tests
    that differ between them, it's less error-prone when the conditions need to
    be updated. Also, improve the comment to explain why they are different.
    
    v2: Replace accidental "extern inline" with "static inline" (Peter).
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Suggested-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Acked-by: default avatarDavid Vernet <void@manifault.com>
    2c390dda
ext.c 184 KB