summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Perret <quentin.perret@arm.com>2019-08-29 11:31:00 +0100
committerQuentin Perret <quentin.perret@arm.com>2019-09-02 11:00:15 +0000
commiteb275f4f0dc5902ee81bcdc79a6789e5795b30b3 (patch)
treead1688d9b3bb06e0a217aeff5eb2d14d05e2c836
parent5ad560c06b742cd09dca4ca97c0e47649ee4bf44 (diff)
downloadcommon-eb275f4f0dc5902ee81bcdc79a6789e5795b30b3.tar.gz
ANDROID: sched: Disallow WALT with CFS bandwidth controlASB-2019-09-05_4.4-p
The WALT time accounting breaks when CFS tasks are throttled by the CPU bandwidth control mechanism of the CPU cgroups controller. This can result in a negative cumulative_runnable_avg, which can then lead to a kernel panic, and the device crashing. Although the right fix would be add support for throttled CFS tasks to WALT, the common kernel is now in stable maintenance mode and will not get new features which could cause issues for partners downstream. To work around the issue, make the CFS_BANDWIDTH Kconfig option depend on SCHED_WALT=n, hence preventing these two things from being enabled simultaneously. This should not be an issue for most partners (nobody had noticed the breakage for years), and those who do need the better fix can apply it in their device kernel. Bug: 139071966 Bug: 120440300 Change-Id: Ieb3c367ae7893ac93fb5b38c1580dc59151aacce Signed-off-by: Quentin Perret <quentin.perret@arm.com>
-rw-r--r--init/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index b72e83288f66..369e7c6b1656 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1132,6 +1132,7 @@ config FAIR_GROUP_SCHED
config CFS_BANDWIDTH
bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED"
depends on FAIR_GROUP_SCHED
+ depends on !SCHED_WALT
default n
help
This option allows users to define CPU bandwidth rates (limits) for