diff options
| author | Pavankumar Kondeti <pkondeti@codeaurora.org> | 2015-12-04 06:34:03 +0530 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:25:13 -0700 |
| commit | 6418f213abdc8823a7aa75fa4e504d3d83effa57 (patch) | |
| tree | 6a78e00e43d4bd8ecb8391aed2a532559ec923ac /Documentation/scheduler | |
| parent | 3004236139377ad667ce13fdda58f931992fd7cc (diff) | |
sched: Revise the inter cluster load balance restrictions
The frequency based inter cluster load balance restrictions are not
reliable as frequency does not provide a good estimate of the CPU's
current load. Replace them with the spill_load and spill_nr_run
based checks.
The higher capacity cluster is restricted from pulling the tasks from
the lower capacity cluster unless all of the lower capacity CPUs are
above spill. This behavior can be controlled by a sysctl tunable and
it is disabled by default (i.e. no load balance restrictions).
Change-Id: I45c09c8adcb61a8a7d4e08beadf2f97f1805fb42
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
[joonwoop@codeaurora.org: fixed merge conflicts due to omitted changes
for CONFIG_SCHED_QHMP.]
Diffstat (limited to 'Documentation/scheduler')
| -rw-r--r-- | Documentation/scheduler/sched-zone.txt | 41 |
1 files changed, 12 insertions, 29 deletions
diff --git a/Documentation/scheduler/sched-zone.txt b/Documentation/scheduler/sched-zone.txt index 4372e5c788c7..28313f144882 100644 --- a/Documentation/scheduler/sched-zone.txt +++ b/Documentation/scheduler/sched-zone.txt @@ -1238,35 +1238,6 @@ power mode. It ignores the actual D-state that a cluster may be in and assumes the worst case power cost of the highest D-state. It is means of biasing task placement away from idle clusters when necessary. - -*** 7.21 sched_lowspill_freq - -Default value: 0 - -Appears at /proc/sys/kernel/sched_lowspill_freq - -This is the first of two tunables designed to govern the load balancer behavior -at various frequency levels. This tunable defines the frequency of the little -cluster below which the big cluster is not permitted to pull tasks from the -little cluster as part of load balance. The idea is that below a certain -frequency, a cluster has enough remaining capacity that may not necessitate -migration of tasks. This helps in achieving consolidation of workload within -the little cluster when needed. - -*** 7.22 sched_pack_freq - -Default value: INT_MAX - -Appears at /proc/sys/kernel/sched_pack_freq - -This is the second of two tunables designed to govern the load balancer behavior -at various frequency levels. This tunable defines the frequency of the little -cluster beyond which the little cluster is now allowed to pull tasks from the -big cluster as part of load balance. The idea is that above a certain frequency -threshold the little cluster may not want to pull additional work from another -cluster. This helps in achieving consolidation of workload within the big -cluster when needed. - ***7.23 sched_early_detection_duration Default value: 9500000 @@ -1278,6 +1249,18 @@ tick for it to be eligible for the scheduler's early detection feature under scheduler boost. For more information on the feature itself please refer to section 5.2.1. +*** 7.24 sched_restrict_cluster_spill + +Default value: 0 + +Appears at /proc/sys/kernel/sched_restrict_cluster_spill + +This tunable can be used to restrict the higher capacity cluster pulling tasks +from the lower capacity cluster in the load balance path. The restriction is +lifted if all of the CPUS in the lower capacity cluster are above spill. +The power cost is used to break the ties if the capacity of clusters are same +for applying this restriction. + ========================= 8. HMP SCHEDULER TRACE POINTS ========================= |
