]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
sched/fair: Detect capacity inversion
authorQais Yousef <qais.yousef@arm.com>
Thu, 4 Aug 2022 14:36:08 +0000 (15:36 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 27 Oct 2022 09:01:20 +0000 (11:01 +0200)
commit44c7b80bffc3a657a36857098d5d9c49d94e652b
tree363440d1e3a8f8cb4937f5cfb74cbb6059f80eb4
parentd81304bc6193554014d4372a01debdf65e1e9a4d
sched/fair: Detect capacity inversion

Check each performance domain to see if thermal pressure is causing its
capacity to be lower than another performance domain.

We assume that each performance domain has CPUs with the same
capacities, which is similar to an assumption made in energy_model.c

We also assume that thermal pressure impacts all CPUs in a performance
domain equally.

If there're multiple performance domains with the same capacity_orig, we
will trigger a capacity inversion if the domain is under thermal
pressure.

The new cpu_in_capacity_inversion() should help users to know when
information about capacity_orig are not reliable and can opt in to use
the inverted capacity as the 'actual' capacity_orig.

Signed-off-by: Qais Yousef <qais.yousef@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220804143609.515789-9-qais.yousef@arm.com
kernel/sched/fair.c
kernel/sched/sched.h