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)
committerPunit Agrawal <punit.agrawal@arm.com>
Mon, 21 Mar 2016 12:42:01 +0000 (12:42 +0000)
commitba3afb70e359658384c4738c409c47c812564222
tree26907c9ee8bff6dc477e3087898eeff7b5424f32
parent300acf8ed98bf224ad6f13c9851e6b221390427a
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