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)
committerAmit Pundir <amit.pundir@linaro.org>
Wed, 14 Sep 2016 09:18:50 +0000 (14:48 +0530)
commitf61bd44d08c1e7ea97e389ff59167a86d90977f4
treeee88e5d228d52e208beb894e157f57d4073a800c
parent20424b480cedaaea10f5c56c6140692c97b9837e
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