aboutsummaryrefslogtreecommitdiffstats
path: root/init/init_task.c
diff options
context:
space:
mode:
authorTejun Heo <[email protected]>2024-07-08 19:39:48 +0000
committerTejun Heo <[email protected]>2024-07-08 19:39:48 +0000
commit744d83601ffa11ebbca52c0ec0b039e269d05054 (patch)
treef6b9e7d05e7842b2d8ada3b5fb51393e2cc7f64d /init/init_task.c
parentsched_ext: Minor cleanups in kernel/sched/ext.h (diff)
downloadkernel-744d83601ffa11ebbca52c0ec0b039e269d05054.tar.gz
kernel-744d83601ffa11ebbca52c0ec0b039e269d05054.zip
sched, sched_ext: Open code for_balance_class_range()
For flexibility, sched_ext allows the BPF scheduler to select the CPU to execute a task on at dispatch time so that e.g. a queue can be shared across multiple CPUs. To enable this, the dispatch path is executed from balance() so that a dispatched task can be hot-migrated to its target CPU. This means that sched_ext needs its balance() method invoked before every pick_next_task() even when the CPU is waking up from SCHED_IDLE. for_balance_class_range() defined in kernel/sched/ext.h implements this selective iteration promotion. However, the indirection obfuscates more than helps. Open code the iteration promotion in put_prev_task_balance() and remove for_balance_class_range(). No functional changes intended. Signed-off-by: Tejun Heo <[email protected]> Suggested-by: Linus Torvalds <[email protected]> Acked-by: David Vernet <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]>
Diffstat (limited to 'init/init_task.c')
0 files changed, 0 insertions, 0 deletions