diff --git a/init/service_parser.cpp b/init/service_parser.cpp index ec3b176d4..e6f3af617 100644 --- a/init/service_parser.cpp +++ b/init/service_parser.cpp @@ -538,9 +538,12 @@ Result ServiceParser::ParseUser(std::vector&& args) { // when we migrate to cgroups v2 while these hardcoded paths stay the same. static std::optional ConvertTaskFileToProfile(const std::string& file) { static const std::map map = { + {"/dev/stune/top-app/tasks", "MaxPerformance"}, + {"/dev/stune/foreground/tasks", "HighPerformance"}, {"/dev/cpuset/camera-daemon/tasks", "CameraServiceCapacity"}, {"/dev/cpuset/foreground/tasks", "ProcessCapacityHigh"}, {"/dev/cpuset/system-background/tasks", "ServiceCapacityLow"}, + {"/dev/stune/nnapi-hal/tasks", "NNApiHALPerformance"}, {"/dev/blkio/background/tasks", "LowIoPriority"}, }; auto iter = map.find(file); diff --git a/rootdir/init.rc b/rootdir/init.rc index ae6a6588b..0cc129707 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -116,6 +116,37 @@ on init # Create socket dir for ot-daemon mkdir /dev/socket/ot-daemon 0770 thread_network thread_network + # Create energy-aware scheduler tuning nodes + mkdir /dev/stune/foreground + mkdir /dev/stune/background + mkdir /dev/stune/top-app + mkdir /dev/stune/rt + chown system system /dev/stune + chown system system /dev/stune/foreground + chown system system /dev/stune/background + chown system system /dev/stune/top-app + chown system system /dev/stune/rt + chown system system /dev/stune/tasks + chown system system /dev/stune/foreground/tasks + chown system system /dev/stune/background/tasks + chown system system /dev/stune/top-app/tasks + chown system system /dev/stune/rt/tasks + chown system system /dev/stune/cgroup.procs + chown system system /dev/stune/foreground/cgroup.procs + chown system system /dev/stune/background/cgroup.procs + chown system system /dev/stune/top-app/cgroup.procs + chown system system /dev/stune/rt/cgroup.procs + chmod 0664 /dev/stune/tasks + chmod 0664 /dev/stune/foreground/tasks + chmod 0664 /dev/stune/background/tasks + chmod 0664 /dev/stune/top-app/tasks + chmod 0664 /dev/stune/rt/tasks + chmod 0664 /dev/stune/cgroup.procs + chmod 0664 /dev/stune/foreground/cgroup.procs + chmod 0664 /dev/stune/background/cgroup.procs + chmod 0664 /dev/stune/top-app/cgroup.procs + chmod 0664 /dev/stune/rt/cgroup.procs + # cpuctl hierarchy for devices using utilclamp mkdir /dev/cpuctl/foreground mkdir /dev/cpuctl/foreground_window @@ -189,6 +220,24 @@ on init chmod 0664 /dev/cpuctl/camera-daemon/tasks chmod 0664 /dev/cpuctl/camera-daemon/cgroup.procs + # Create an stune group for camera-specific processes + mkdir /dev/stune/camera-daemon + chown system system /dev/stune/camera-daemon + chown system system /dev/stune/camera-daemon/tasks + chown system system /dev/stune/camera-daemon/cgroup.procs + chmod 0664 /dev/stune/camera-daemon/tasks + chmod 0664 /dev/stune/camera-daemon/cgroup.procs + + # Create an stune group for NNAPI HAL processes + mkdir /dev/stune/nnapi-hal + chown system system /dev/stune/nnapi-hal + chown system system /dev/stune/nnapi-hal/tasks + chown system system /dev/stune/nnapi-hal/cgroup.procs + chmod 0664 /dev/stune/nnapi-hal/tasks + chmod 0664 /dev/stune/nnapi-hal/cgroup.procs + write /dev/stune/nnapi-hal/schedtune.boost 1 + write /dev/stune/nnapi-hal/schedtune.prefer_idle 1 + # Create blkio group and apply initial settings. # This feature needs kernel to support it, and the # device's init.rc must actually set the correct values.