> Actively push out the current running task on a non-preferred CPU. 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. > > Though the code is similar to __balance_push_cpu_stop and quite close to > push_cpu_stop, it is kept separate as it provides a cleaner > implementation specifically for 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 <[email protected]>
Sashiko has reviewed this patch and found no issues. It looks great! -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=8
