Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 673e6bb0 authored by Rick Yiu's avatar Rick Yiu
Browse files

Create a new group for foreground of multi-window

In multi-window mode, currently the focused window will be top-app,
and others will be foreground. However, the cpu resource we assign to
typical foreground group may not meet the performance need of those
windows. Therefore, create a new group for them so that we could
distinguish their performance need.

Bug: 200769420
Test: group created
Change-Id: I84c61f9ed4d167e156dafb7a816b6482e80a8523
parent 3081d1d0
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
@@ -10,6 +10,11 @@
      "Controller": "cpuset",
      "File": "foreground/cpus"
    },
    {
      "Name": "HighCapacityWICPUs",
      "Controller": "cpuset",
      "File": "foreground_window/cpus"
    },
    {
      "Name": "MaxCapacityCPUs",
      "Controller": "cpuset",
@@ -158,6 +163,19 @@
        }
      ]
    },
    {
      "Name": "HighPerformanceWI",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpu",
            "Path": "foreground_window"
          }
        }
      ]
    },
    {
      "Name": "MaxPerformance",
      "Actions": [
@@ -381,6 +399,19 @@
        }
      ]
    },
    {
      "Name": "ProcessCapacityHighWI",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "foreground_window"
          }
        }
      ]
    },
    {
      "Name": "ProcessCapacityMax",
      "Actions": [
@@ -638,6 +669,10 @@
      "Name": "SCHED_SP_FOREGROUND",
      "Profiles": [ "HighPerformance", "HighIoPriority", "TimerSlackNormal" ]
    },
    {
      "Name": "SCHED_SP_FOREGROUND_WINDOW",
      "Profiles": [ "HighPerformanceWI", "HighIoPriority", "TimerSlackNormal" ]
    },
    {
      "Name": "SCHED_SP_TOP_APP",
      "Profiles": [ "MaxPerformance", "MaxIoPriority", "TimerSlackNormal" ]
@@ -666,6 +701,10 @@
      "Name": "CPUSET_SP_FOREGROUND",
      "Profiles": [ "HighPerformance", "ProcessCapacityHigh", "HighIoPriority", "TimerSlackNormal" ]
    },
    {
      "Name": "CPUSET_SP_FOREGROUND_WINDOW",
      "Profiles": [ "HighPerformanceWI", "ProcessCapacityHighWI", "HighIoPriority", "TimerSlackNormal" ]
    },
    {
      "Name": "CPUSET_SP_TOP_APP",
      "Profiles": [ "MaxPerformance", "ProcessCapacityMax", "MaxIoPriority", "TimerSlackNormal" ]
+14 −0
Original line number Diff line number Diff line
@@ -145,6 +145,7 @@ on init

    # cpuctl hierarchy for devices using utilclamp
    mkdir /dev/cpuctl/foreground
    mkdir /dev/cpuctl/foreground_window
    mkdir /dev/cpuctl/background
    mkdir /dev/cpuctl/top-app
    mkdir /dev/cpuctl/rt
@@ -153,6 +154,7 @@ on init
    mkdir /dev/cpuctl/dex2oat
    chown system system /dev/cpuctl
    chown system system /dev/cpuctl/foreground
    chown system system /dev/cpuctl/foreground_window
    chown system system /dev/cpuctl/background
    chown system system /dev/cpuctl/top-app
    chown system system /dev/cpuctl/rt
@@ -161,6 +163,7 @@ on init
    chown system system /dev/cpuctl/dex2oat
    chown system system /dev/cpuctl/tasks
    chown system system /dev/cpuctl/foreground/tasks
    chown system system /dev/cpuctl/foreground_window/tasks
    chown system system /dev/cpuctl/background/tasks
    chown system system /dev/cpuctl/top-app/tasks
    chown system system /dev/cpuctl/rt/tasks
@@ -169,6 +172,7 @@ on init
    chown system system /dev/cpuctl/dex2oat/tasks
    chown system system /dev/cpuctl/cgroup.procs
    chown system system /dev/cpuctl/foreground/cgroup.procs
    chown system system /dev/cpuctl/foreground_window/cgroup.procs
    chown system system /dev/cpuctl/background/cgroup.procs
    chown system system /dev/cpuctl/top-app/cgroup.procs
    chown system system /dev/cpuctl/rt/cgroup.procs
@@ -177,6 +181,7 @@ on init
    chown system system /dev/cpuctl/dex2oat/cgroup.procs
    chmod 0664 /dev/cpuctl/tasks
    chmod 0664 /dev/cpuctl/foreground/tasks
    chmod 0664 /dev/cpuctl/foreground_window/tasks
    chmod 0664 /dev/cpuctl/background/tasks
    chmod 0664 /dev/cpuctl/top-app/tasks
    chmod 0664 /dev/cpuctl/rt/tasks
@@ -185,6 +190,7 @@ on init
    chmod 0664 /dev/cpuctl/dex2oat/tasks
    chmod 0664 /dev/cpuctl/cgroup.procs
    chmod 0664 /dev/cpuctl/foreground/cgroup.procs
    chmod 0664 /dev/cpuctl/foreground_window/cgroup.procs
    chmod 0664 /dev/cpuctl/background/cgroup.procs
    chmod 0664 /dev/cpuctl/top-app/cgroup.procs
    chmod 0664 /dev/cpuctl/rt/cgroup.procs
@@ -354,6 +360,9 @@ on init
    mkdir /dev/cpuset/foreground
    copy /dev/cpuset/cpus /dev/cpuset/foreground/cpus
    copy /dev/cpuset/mems /dev/cpuset/foreground/mems
    mkdir /dev/cpuset/foreground_window
    copy /dev/cpuset/cpus /dev/cpuset/foreground_window/cpus
    copy /dev/cpuset/mems /dev/cpuset/foreground_window/mems
    mkdir /dev/cpuset/background
    copy /dev/cpuset/cpus /dev/cpuset/background/cpus
    copy /dev/cpuset/mems /dev/cpuset/background/mems
@@ -382,6 +391,7 @@ on init
    # change permissions for all cpusets we'll touch at runtime
    chown system system /dev/cpuset
    chown system system /dev/cpuset/foreground
    chown system system /dev/cpuset/foreground_window
    chown system system /dev/cpuset/background
    chown system system /dev/cpuset/system-background
    chown system system /dev/cpuset/top-app
@@ -389,6 +399,7 @@ on init
    chown system system /dev/cpuset/camera-daemon
    chown system system /dev/cpuset/tasks
    chown system system /dev/cpuset/foreground/tasks
    chown system system /dev/cpuset/foreground_window/tasks
    chown system system /dev/cpuset/background/tasks
    chown system system /dev/cpuset/system-background/tasks
    chown system system /dev/cpuset/top-app/tasks
@@ -396,6 +407,7 @@ on init
    chown system system /dev/cpuset/camera-daemon/tasks
    chown system system /dev/cpuset/cgroup.procs
    chown system system /dev/cpuset/foreground/cgroup.procs
    chown system system /dev/cpuset/foreground_window/cgroup.procs
    chown system system /dev/cpuset/background/cgroup.procs
    chown system system /dev/cpuset/system-background/cgroup.procs
    chown system system /dev/cpuset/top-app/cgroup.procs
@@ -406,6 +418,7 @@ on init
    chmod 0775 /dev/cpuset/system-background

    chmod 0664 /dev/cpuset/foreground/tasks
    chmod 0664 /dev/cpuset/foreground_window/tasks
    chmod 0664 /dev/cpuset/background/tasks
    chmod 0664 /dev/cpuset/system-background/tasks
    chmod 0664 /dev/cpuset/top-app/tasks
@@ -413,6 +426,7 @@ on init
    chmod 0664 /dev/cpuset/tasks
    chmod 0664 /dev/cpuset/camera-daemon/tasks
    chmod 0664 /dev/cpuset/foreground/cgroup.procs
    chmod 0664 /dev/cpuset/foreground_window/cgroup.procs
    chmod 0664 /dev/cpuset/background/cgroup.procs
    chmod 0664 /dev/cpuset/system-background/cgroup.procs
    chmod 0664 /dev/cpuset/top-app/cgroup.procs