sched: Migration changes for core scheduling
authorAubrey Li <aubrey.li@linux.intel.com>
Wed, 24 Mar 2021 21:40:13 +0000 (17:40 -0400)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 12 May 2021 09:43:30 +0000 (11:43 +0200)
commit97886d9dcd86820bdbc1fa73b455982809cbc8c2
treeed6c65cd1940ba27a7101a611bc71bdb6029735c
parentd2dfa17bc7de67e99685c4d6557837bf801a102c
sched: Migration changes for core scheduling

 - Don't migrate if there is a cookie mismatch
     Load balance tries to move task from busiest CPU to the
     destination CPU. When core scheduling is enabled, if the
     task's cookie does not match with the destination CPU's
     core cookie, this task may be skipped by this CPU. This
     mitigates the forced idle time on the destination CPU.

 - Select cookie matched idle CPU
     In the fast path of task wakeup, select the first cookie matched
     idle CPU instead of the first idle CPU.

 - Find cookie matched idlest CPU
     In the slow path of task wakeup, find the idlest CPU whose core
     cookie matches with task's cookie

Signed-off-by: Aubrey Li <aubrey.li@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Don Hiatt <dhiatt@digitalocean.com>
Tested-by: Hongyu Ning <hongyu.ning@linux.intel.com>
Tested-by: Vincent Guittot <vincent.guittot@linaro.org>
Link: https://lkml.kernel.org/r/20210422123308.860083871@infradead.org
kernel/sched/fair.c
kernel/sched/sched.h