From eb275f4f0dc5902ee81bcdc79a6789e5795b30b3 Mon Sep 17 00:00:00 2001 From: Quentin Perret Date: Thu, 29 Aug 2019 11:31:00 +0100 Subject: ANDROID: sched: Disallow WALT with CFS bandwidth control 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 --- init/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'init') 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 -- cgit v1.2.3