path: root/kernel/sched/sched.h
diff options
authorMorten Rasmussen <morten.rasmussen@arm.com>2015-07-17 14:31:08 +0100
committerJuri Lelli <juri.lelli@arm.com>2015-10-05 12:10:09 +0100
commit34e5ab5f85b3bebe34a617672790c68c3a55449b (patch)
treea5fa1e8658638ec1a429ed533e67291a58b3263e /kernel/sched/sched.h
parentb68d8d477a9797196e2a91f763df17f849535ffe (diff)
WIP: 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). Change-Id: I3ad0e6df855b1a184db05cb310e91e1e03061467 Signed-off-by: Morten Rasmussen <morten.rasmussen@arm.com>
Diffstat (limited to 'kernel/sched/sched.h')
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index e3a2d62538a9..a26aa7fd6241 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -771,7 +771,8 @@ struct sched_group_capacity {
* CPU capacity of this group, SCHED_LOAD_SCALE being max capacity
* for a single CPU.
- unsigned int capacity;
+ unsigned long capacity;
+ unsigned long max_capacity; /* Max per-cpu capacity in group */
unsigned long next_update;
int imbalance; /* XXX unrelated to capacity but shared group state */