summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorShrikanth Hegde <sshegde@linux.ibm.com>2026-09-28 11:07:23 +0530
committerPeter Zijlstra <peterz@infradead.org>2026-09-28 08:44:42 +0200
commit74699f56ebcfe0f401ee6ce4c5a72822101bb222 (patch)
tree1539b9d9ee968af5ec721c23d2dada04d32befff /include/linux
parent4ee29b029058a8f06fbb91425e1d9351e8015b53 (diff)
sched/core: Push current task from non preferred CPU
Actively push out the current running task on a non-preferred CPU (NPC). Since the task is currently running, a stopper thread must be queued to push the task out. However, if the task is pinned only to non-preferred CPUs, it will continue running there. This helps to maintain userspace affinities, unlike CPU hotplug or isolated cpusets. The implementation follows the structure of __balance_push_cpu_stop(), but is kept separate to handle the preferred-CPU specific conditions and pending-work state under CONFIG_PREFERRED_CPU. Add the npc_push_work_pending flag to protect the work buffer. For now, only the currently running task is pushed out. This keeps the code simpler. In the future, an optimization may be added to move all queued tasks on the runqueue. This works only for the FAIR scheduling class. Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://patch.msgid.link/20260928053728.797539-9-sshegde@linux.ibm.com
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions