diff --git a/libcutils/sched_policy_test.cpp b/libcutils/sched_policy_test.cpp index 50bd6d0b8..264174309 100644 --- a/libcutils/sched_policy_test.cpp +++ b/libcutils/sched_policy_test.cpp @@ -67,13 +67,6 @@ static void AssertPolicy(SchedPolicy expected_policy) { } TEST(SchedPolicy, set_sched_policy) { - if (!schedboost_enabled()) { - // schedboost_enabled() (i.e. CONFIG_CGROUP_SCHEDTUNE) is optional; - // it's only needed on devices using energy-aware scheduler. - GTEST_LOG_(INFO) << "skipping test that requires CONFIG_CGROUP_SCHEDTUNE"; - return; - } - ASSERT_EQ(0, set_sched_policy(0, SP_BACKGROUND)); ASSERT_EQ(0, set_cpuset_policy(0, SP_BACKGROUND)); AssertPolicy(SP_BACKGROUND); diff --git a/libprocessgroup/include/processgroup/sched_policy.h b/libprocessgroup/include/processgroup/sched_policy.h index 1b6ea669d..92cd367bf 100644 --- a/libprocessgroup/include/processgroup/sched_policy.h +++ b/libprocessgroup/include/processgroup/sched_policy.h @@ -29,14 +29,6 @@ extern "C" { */ extern bool cpusets_enabled(); -/* - * Check if Linux kernel enables SCHEDTUNE feature (only available in Android - * common kernel or Linaro LSK, not in mainline Linux as of v4.9) - * - * Return value: 1 if Linux kernel CONFIG_CGROUP_SCHEDTUNE=y; 0 otherwise. - */ -extern bool schedboost_enabled(); - /* Keep in sync with THREAD_GROUP_* in frameworks/base/core/java/android/os/Process.java */ typedef enum { SP_DEFAULT = -1, diff --git a/libprocessgroup/profiles/Android.bp b/libprocessgroup/profiles/Android.bp index 885971a7a..1ec9f7f3b 100644 --- a/libprocessgroup/profiles/Android.bp +++ b/libprocessgroup/profiles/Android.bp @@ -19,11 +19,6 @@ package { prebuilt_etc { name: "cgroups.json", src: "cgroups.json", - required: [ - "cgroups_28.json", - "cgroups_29.json", - "cgroups_30.json", - ], } prebuilt_etc { @@ -33,50 +28,9 @@ prebuilt_etc { src: "cgroups.recovery.json", } -prebuilt_etc { - name: "cgroups_28.json", - src: "cgroups_28.json", - sub_dir: "task_profiles", -} - -prebuilt_etc { - name: "cgroups_29.json", - src: "cgroups_29.json", - sub_dir: "task_profiles", -} - -prebuilt_etc { - name: "cgroups_30.json", - src: "cgroups_30.json", - sub_dir: "task_profiles", -} - prebuilt_etc { name: "task_profiles.json", src: "task_profiles.json", - required: [ - "task_profiles_28.json", - "task_profiles_29.json", - "task_profiles_30.json", - ], -} - -prebuilt_etc { - name: "task_profiles_28.json", - src: "task_profiles_28.json", - sub_dir: "task_profiles", -} - -prebuilt_etc { - name: "task_profiles_29.json", - src: "task_profiles_29.json", - sub_dir: "task_profiles", -} - -prebuilt_etc { - name: "task_profiles_30.json", - src: "task_profiles_30.json", - sub_dir: "task_profiles", } cc_defaults { diff --git a/libprocessgroup/profiles/cgroups_28.json b/libprocessgroup/profiles/cgroups_28.json deleted file mode 100644 index 17d492949..000000000 --- a/libprocessgroup/profiles/cgroups_28.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "Cgroups": [ - { - "Controller": "schedtune", - "Path": "/dev/stune", - "Mode": "0755", - "UID": "system", - "GID": "system" - } - ] -} diff --git a/libprocessgroup/profiles/cgroups_29.json b/libprocessgroup/profiles/cgroups_29.json deleted file mode 100644 index 17d492949..000000000 --- a/libprocessgroup/profiles/cgroups_29.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "Cgroups": [ - { - "Controller": "schedtune", - "Path": "/dev/stune", - "Mode": "0755", - "UID": "system", - "GID": "system" - } - ] -} diff --git a/libprocessgroup/profiles/cgroups_30.json b/libprocessgroup/profiles/cgroups_30.json deleted file mode 100644 index 80a074bf1..000000000 --- a/libprocessgroup/profiles/cgroups_30.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "Cgroups": [ - { - "Controller": "schedtune", - "Path": "/dev/stune", - "Mode": "0755", - "UID": "system", - "GID": "system", - "Optional": true - } - ] -} diff --git a/libprocessgroup/profiles/task_profiles_28.json b/libprocessgroup/profiles/task_profiles_28.json deleted file mode 100644 index e7be5487d..000000000 --- a/libprocessgroup/profiles/task_profiles_28.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "Attributes": [ - { - "Name": "STuneBoost", - "Controller": "schedtune", - "File": "schedtune.boost" - }, - { - "Name": "STunePreferIdle", - "Controller": "schedtune", - "File": "schedtune.prefer_idle" - } - ], - - "Profiles": [ - { - "Name": "HighEnergySaving", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "background" - } - } - ] - }, - { - "Name": "NormalPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "" - } - } - ] - }, - { - "Name": "ServicePerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "background" - } - } - ] - }, - { - "Name": "HighPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "foreground" - } - } - ] - }, - { - "Name": "MaxPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "top-app" - } - } - ] - }, - { - "Name": "RealtimePerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "rt" - } - } - ] - }, - { - "Name": "CameraServicePerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "camera-daemon" - } - } - ] - }, - { - "Name": "NNApiHALPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "nnapi-hal" - } - } - ] - }, - { - "Name": "Dex2oatPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "background" - } - } - ] - }, - { - "Name": "CpuPolicySpread", - "Actions": [ - { - "Name": "SetAttribute", - "Params": - { - "Name": "STunePreferIdle", - "Value": "1" - } - } - ] - }, - { - "Name": "CpuPolicyPack", - "Actions": [ - { - "Name": "SetAttribute", - "Params": - { - "Name": "STunePreferIdle", - "Value": "0" - } - } - ] - } - ] -} diff --git a/libprocessgroup/profiles/task_profiles_29.json b/libprocessgroup/profiles/task_profiles_29.json deleted file mode 100644 index 6174c8d0f..000000000 --- a/libprocessgroup/profiles/task_profiles_29.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "Attributes": [ - { - "Name": "STuneBoost", - "Controller": "schedtune", - "File": "schedtune.boost" - }, - { - "Name": "STunePreferIdle", - "Controller": "schedtune", - "File": "schedtune.prefer_idle" - } - ], - - "Profiles": [ - { - "Name": "HighEnergySaving", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "background" - } - } - ] - }, - { - "Name": "NormalPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "" - } - } - ] - }, - { - "Name": "HighPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "foreground" - } - } - ] - }, - { - "Name": "ServicePerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "background" - } - } - ] - }, - { - "Name": "MaxPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "top-app" - } - } - ] - }, - { - "Name": "RealtimePerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "rt" - } - } - ] - }, - { - "Name": "CameraServicePerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "camera-daemon" - } - } - ] - }, - { - "Name": "NNApiHALPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "nnapi-hal" - } - } - ] - }, - { - "Name": "Dex2oatPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "background" - } - } - ] - }, - { - "Name": "CpuPolicySpread", - "Actions": [ - { - "Name": "SetAttribute", - "Params": - { - "Name": "STunePreferIdle", - "Value": "1" - } - } - ] - }, - { - "Name": "CpuPolicyPack", - "Actions": [ - { - "Name": "SetAttribute", - "Params": - { - "Name": "STunePreferIdle", - "Value": "0" - } - } - ] - } - ] -} diff --git a/libprocessgroup/profiles/task_profiles_30.json b/libprocessgroup/profiles/task_profiles_30.json deleted file mode 100644 index e7be5487d..000000000 --- a/libprocessgroup/profiles/task_profiles_30.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "Attributes": [ - { - "Name": "STuneBoost", - "Controller": "schedtune", - "File": "schedtune.boost" - }, - { - "Name": "STunePreferIdle", - "Controller": "schedtune", - "File": "schedtune.prefer_idle" - } - ], - - "Profiles": [ - { - "Name": "HighEnergySaving", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "background" - } - } - ] - }, - { - "Name": "NormalPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "" - } - } - ] - }, - { - "Name": "ServicePerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "background" - } - } - ] - }, - { - "Name": "HighPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "foreground" - } - } - ] - }, - { - "Name": "MaxPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "top-app" - } - } - ] - }, - { - "Name": "RealtimePerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "rt" - } - } - ] - }, - { - "Name": "CameraServicePerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "camera-daemon" - } - } - ] - }, - { - "Name": "NNApiHALPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "nnapi-hal" - } - } - ] - }, - { - "Name": "Dex2oatPerformance", - "Actions": [ - { - "Name": "JoinCgroup", - "Params": - { - "Controller": "schedtune", - "Path": "background" - } - } - ] - }, - { - "Name": "CpuPolicySpread", - "Actions": [ - { - "Name": "SetAttribute", - "Params": - { - "Name": "STunePreferIdle", - "Value": "1" - } - } - ] - }, - { - "Name": "CpuPolicyPack", - "Actions": [ - { - "Name": "SetAttribute", - "Params": - { - "Name": "STunePreferIdle", - "Value": "0" - } - } - ] - } - ] -} diff --git a/libprocessgroup/sched_policy.cpp b/libprocessgroup/sched_policy.cpp index 042bcd24c..5a53c35de 100644 --- a/libprocessgroup/sched_policy.cpp +++ b/libprocessgroup/sched_policy.cpp @@ -148,20 +148,10 @@ bool cpusets_enabled() { return enabled; } -static bool schedtune_enabled() { - return (CgroupMap::GetInstance().FindController("schedtune").IsUsable()); -} - static bool cpuctl_enabled() { return (CgroupMap::GetInstance().FindController("cpu").IsUsable()); } -bool schedboost_enabled() { - static bool enabled = schedtune_enabled() || cpuctl_enabled(); - - return enabled; -} - static int getCGroupSubsys(pid_t tid, const char* subsys, std::string& subgroup) { auto controller = CgroupMap::GetInstance().FindController(subsys); @@ -201,9 +191,8 @@ int get_sched_policy(pid_t tid, SchedPolicy* policy) { } std::string group; - if (schedboost_enabled()) { - if ((getCGroupSubsys(tid, "schedtune", group) < 0) && - (getCGroupSubsys(tid, "cpu", group) < 0)) { + if (cpuctl_enabled()) { + if (getCGroupSubsys(tid, "cpu", group) < 0) { LOG(ERROR) << "Failed to find cpu cgroup for tid " << tid; return -1; }