sched: Add per-cpu max capacity to sched_group_capacity
authorMorten Rasmussen <morten.rasmussen@arm.com>
Thu, 25 Feb 2016 12:43:49 +0000 (12:43 +0000)
committerLeo Yan <leo.yan@linaro.org>
Tue, 10 May 2016 08:49:54 +0000 (16:49 +0800)
commit563ddb604e01393625aa56601188b7eeb20888da
tree99681ccb1f9d7263ab9ac5ba9f34fc5996b473fa
parente14f1518239461ec91e3cb99fba6809c7d5fa4ad
sched: Add per-cpu max capacity to sched_group_capacity

struct sched_group_capacity currently represents the compute capacity
sum of all cpus in the sched_group. Unless it is divided by the
group_weight to get the average capacity per cpu it hides differences in
cpu capacity for mixed capacity systems (e.g. high RT/IRQ utilization or
ARM big.LITTLE). But even the average may not be sufficient if the group
covers cpus of different capacities. Instead, by extending struct
sched_group_capacity to indicate max per-cpu capacity in the group a
suitable group for a given task utilization can easily be found such
that cpus with reduced capacity can be avoided for tasks with high
utilization (not implemented by this patch).

Signed-off-by: Morten Rasmussen <morten.rasmussen@arm.com>
kernel/sched/core.c
kernel/sched/fair.c
kernel/sched/sched.h