diff options
author | Peter Zijlstra <peterz@infradead.org> | 2020-11-17 18:19:36 -0500 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2021-05-12 11:43:28 +0200 |
commit | 8a311c740b53324ec584e0e3bb7077d56b123c28 (patch) | |
tree | b39bff43b1eb21f18c94272c2ad9118ca9727021 /.clang-format | |
parent | 21f56ffe4482e501b9e83737612493eeaac21f5a (diff) | |
download | lwn-8a311c740b53324ec584e0e3bb7077d56b123c28.tar.gz lwn-8a311c740b53324ec584e0e3bb7077d56b123c28.zip |
sched: Basic tracking of matching tasks
Introduce task_struct::core_cookie as an opaque identifier for core
scheduling. When enabled; core scheduling will only allow matching
task to be on the core; where idle matches everything.
When task_struct::core_cookie is set (and core scheduling is enabled)
these tasks are indexed in a second RB-tree, first on cookie value
then on scheduling function, such that matching task selection always
finds the most elegible match.
NOTE: *shudder* at the overhead...
NOTE: *sigh*, a 3rd copy of the scheduling function; the alternative
is per class tracking of cookies and that just duplicates a lot of
stuff for no raisin (the 2nd copy lives in the rt-mutex PI code).
[Joel: folded fixes]
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
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.496975854@infradead.org
Diffstat (limited to '.clang-format')
0 files changed, 0 insertions, 0 deletions