summaryrefslogtreecommitdiff
path: root/Documentation/scheduler
diff options
context:
space:
mode:
authorPavankumar Kondeti <pkondeti@codeaurora.org>2015-12-04 06:34:03 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:25:13 -0700
commit6418f213abdc8823a7aa75fa4e504d3d83effa57 (patch)
tree6a78e00e43d4bd8ecb8391aed2a532559ec923ac /Documentation/scheduler
parent3004236139377ad667ce13fdda58f931992fd7cc (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.txt41
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
=========================