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

Commit 180b2671 authored by Suren Baghdasaryan's avatar Suren Baghdasaryan Committed by Gerrit Code Review
Browse files

Merge "libprocessgroup: Support per-API level task profiles"

parents 03f4504f 35221b53
Loading
Loading
Loading
Loading
+46 −0
Original line number Original line Diff line number Diff line
@@ -15,6 +15,11 @@
prebuilt_etc {
prebuilt_etc {
    name: "cgroups.json",
    name: "cgroups.json",
    src: "cgroups.json",
    src: "cgroups.json",
    required: [
        "cgroups_28.json",
        "cgroups_29.json",
        "cgroups_30.json",
    ],
}
}


prebuilt_etc {
prebuilt_etc {
@@ -24,9 +29,50 @@ prebuilt_etc {
    src: "cgroups.recovery.json",
    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 {
prebuilt_etc {
    name: "task_profiles.json",
    name: "task_profiles.json",
    src: "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 {
cc_defaults {
+59 −0
Original line number Original line Diff line number Diff line
{
  "Cgroups": [
    {
      "Controller": "blkio",
      "Path": "/dev/blkio",
      "Mode": "0755",
      "UID": "system",
      "GID": "system"
    },
    {
      "Controller": "cpu",
      "Path": "/dev/cpuctl",
      "Mode": "0755",
      "UID": "system",
      "GID": "system"
    },
    {
      "Controller": "cpuacct",
      "Path": "/acct",
      "Mode": "0555"
    },
    {
      "Controller": "cpuset",
      "Path": "/dev/cpuset",
      "Mode": "0755",
      "UID": "system",
      "GID": "system"
    },
    {
      "Controller": "memory",
      "Path": "/dev/memcg",
      "Mode": "0700",
      "UID": "root",
      "GID": "system"
    },
    {
      "Controller": "schedtune",
      "Path": "/dev/stune",
      "Mode": "0755",
      "UID": "system",
      "GID": "system"
    }
  ],
  "Cgroups2": {
    "Path": "/sys/fs/cgroup",
    "Mode": "0755",
    "UID": "system",
    "GID": "system",
    "Controllers": [
      {
        "Controller": "freezer",
        "Path": "freezer",
        "Mode": "0755",
        "UID": "system",
        "GID": "system"
      }
    ]
  }
}
+59 −0
Original line number Original line Diff line number Diff line
{
  "Cgroups": [
    {
      "Controller": "blkio",
      "Path": "/dev/blkio",
      "Mode": "0755",
      "UID": "system",
      "GID": "system"
    },
    {
      "Controller": "cpu",
      "Path": "/dev/cpuctl",
      "Mode": "0755",
      "UID": "system",
      "GID": "system"
    },
    {
      "Controller": "cpuacct",
      "Path": "/acct",
      "Mode": "0555"
    },
    {
      "Controller": "cpuset",
      "Path": "/dev/cpuset",
      "Mode": "0755",
      "UID": "system",
      "GID": "system"
    },
    {
      "Controller": "memory",
      "Path": "/dev/memcg",
      "Mode": "0700",
      "UID": "root",
      "GID": "system"
    },
    {
      "Controller": "schedtune",
      "Path": "/dev/stune",
      "Mode": "0755",
      "UID": "system",
      "GID": "system"
    }
  ],
  "Cgroups2": {
    "Path": "/sys/fs/cgroup",
    "Mode": "0755",
    "UID": "system",
    "GID": "system",
    "Controllers": [
      {
        "Controller": "freezer",
        "Path": "freezer",
        "Mode": "0755",
        "UID": "system",
        "GID": "system"
      }
    ]
  }
}
+59 −0
Original line number Original line Diff line number Diff line
{
  "Cgroups": [
    {
      "Controller": "blkio",
      "Path": "/dev/blkio",
      "Mode": "0755",
      "UID": "system",
      "GID": "system"
    },
    {
      "Controller": "cpu",
      "Path": "/dev/cpuctl",
      "Mode": "0755",
      "UID": "system",
      "GID": "system"
    },
    {
      "Controller": "cpuacct",
      "Path": "/acct",
      "Mode": "0555"
    },
    {
      "Controller": "cpuset",
      "Path": "/dev/cpuset",
      "Mode": "0755",
      "UID": "system",
      "GID": "system"
    },
    {
      "Controller": "memory",
      "Path": "/dev/memcg",
      "Mode": "0700",
      "UID": "root",
      "GID": "system"
    },
    {
      "Controller": "schedtune",
      "Path": "/dev/stune",
      "Mode": "0755",
      "UID": "system",
      "GID": "system"
    }
  ],
  "Cgroups2": {
    "Path": "/sys/fs/cgroup",
    "Mode": "0755",
    "UID": "system",
    "GID": "system",
    "Controllers": [
      {
        "Controller": "freezer",
        "Path": "freezer",
        "Mode": "0755",
        "UID": "system",
        "GID": "system"
      }
    ]
  }
}
+627 −0
Original line number Original line Diff line number Diff line
{
  "Attributes": [
    {
      "Name": "LowCapacityCPUs",
      "Controller": "cpuset",
      "File": "background/cpus"
    },
    {
      "Name": "HighCapacityCPUs",
      "Controller": "cpuset",
      "File": "foreground/cpus"
    },
    {
      "Name": "MaxCapacityCPUs",
      "Controller": "cpuset",
      "File": "top-app/cpus"
    },
    {
      "Name": "MemLimit",
      "Controller": "memory",
      "File": "memory.limit_in_bytes"
    },
    {
      "Name": "MemSoftLimit",
      "Controller": "memory",
      "File": "memory.soft_limit_in_bytes"
    },
    {
      "Name": "MemSwappiness",
      "Controller": "memory",
      "File": "memory.swappiness"
    },
    {
      "Name": "STuneBoost",
      "Controller": "schedtune",
      "File": "schedtune.boost"
    },
    {
      "Name": "STunePreferIdle",
      "Controller": "schedtune",
      "File": "schedtune.prefer_idle"
    },
    {
      "Name": "UClampMin",
      "Controller": "cpu",
      "File": "cpu.uclamp.min"
    },
    {
      "Name": "UClampMax",
      "Controller": "cpu",
      "File": "cpu.uclamp.max"
    },
    {
      "Name": "FreezerState",
      "Controller": "freezer",
      "File": "cgroup.freeze"
    }
  ],

  "Profiles": [
    {
      "Name": "HighEnergySaving",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "schedtune",
            "Path": "background"
          }
        }
      ]
    },
    {
      "Name": "Frozen",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "freezer",
            "Path": ""
          }
        }
      ]
    },
    {
      "Name": "Unfrozen",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "freezer",
            "Path": "../"
          }
        }
      ]
    },
    {
      "Name": "NormalPerformance",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "schedtune",
            "Path": ""
          }
        }
      ]
    },
    {
      "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": "CpuPolicySpread",
      "Actions": [
        {
          "Name": "SetAttribute",
          "Params":
          {
            "Name": "STunePreferIdle",
            "Value": "1"
          }
        }
      ]
    },
    {
      "Name": "CpuPolicyPack",
      "Actions": [
        {
          "Name": "SetAttribute",
          "Params":
          {
            "Name": "STunePreferIdle",
            "Value": "0"
          }
        }
      ]
    },

    {
      "Name": "VrKernelCapacity",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": ""
          }
        }
      ]
    },
    {
      "Name": "VrServiceCapacityLow",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "system/background"
          }
        }
      ]
    },
    {
      "Name": "VrServiceCapacityNormal",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "system"
          }
        }
      ]
    },
    {
      "Name": "VrServiceCapacityHigh",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "system/performance"
          }
        }
      ]
    },
    {
      "Name": "VrProcessCapacityLow",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "application/background"
          }
        }
      ]
    },
    {
      "Name": "VrProcessCapacityNormal",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "application"
          }
        }
      ]
    },
    {
      "Name": "VrProcessCapacityHigh",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "application/performance"
          }
        }
      ]
    },

    {
      "Name": "ProcessCapacityLow",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "background"
          }
        }
      ]
    },
    {
      "Name": "ProcessCapacityNormal",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": ""
          }
        }
      ]
    },
    {
      "Name": "ProcessCapacityHigh",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "foreground"
          }
        }
      ]
    },
    {
      "Name": "ProcessCapacityMax",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "top-app"
          }
        }
      ]
    },

    {
      "Name": "ServiceCapacityLow",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "system-background"
          }
        }
      ]
    },
    {
      "Name": "ServiceCapacityRestricted",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "restricted"
          }
        }
      ]
    },

    {
      "Name": "CameraServiceCapacity",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "cpuset",
            "Path": "camera-daemon"
          }
        }
      ]
    },

    {
      "Name": "LowIoPriority",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "blkio",
            "Path": "background"
          }
        }
      ]
    },
    {
      "Name": "NormalIoPriority",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "blkio",
            "Path": ""
          }
        }
      ]
    },
    {
      "Name": "HighIoPriority",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "blkio",
            "Path": ""
          }
        }
      ]
    },
    {
      "Name": "MaxIoPriority",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "blkio",
            "Path": ""
          }
        }
      ]
    },

    {
      "Name": "TimerSlackHigh",
      "Actions": [
        {
          "Name": "SetTimerSlack",
          "Params":
          {
            "Slack": "40000000"
          }
        }
      ]
    },
    {
      "Name": "TimerSlackNormal",
      "Actions": [
        {
          "Name": "SetTimerSlack",
          "Params":
          {
            "Slack": "50000"
          }
        }
      ]
    },

    {
      "Name": "PerfBoost",
      "Actions": [
        {
          "Name": "SetClamps",
          "Params":
          {
            "Boost": "50%",
            "Clamp": "0"
          }
        }
      ]
    },
    {
      "Name": "PerfClamp",
      "Actions": [
        {
          "Name": "SetClamps",
          "Params":
          {
            "Boost": "0",
            "Clamp": "30%"
          }
        }
      ]
    },

    {
      "Name": "LowMemoryUsage",
      "Actions": [
        {
          "Name": "SetAttribute",
          "Params":
          {
            "Name": "MemSoftLimit",
            "Value": "16MB"
          }
        },
        {
          "Name": "SetAttribute",
          "Params":
          {
            "Name": "MemSwappiness",
            "Value": "150"

          }
        }
      ]
    },
    {
      "Name": "HighMemoryUsage",
      "Actions": [
        {
          "Name": "SetAttribute",
          "Params":
          {
            "Name": "MemSoftLimit",
            "Value": "512MB"
          }
        },
        {
          "Name": "SetAttribute",
          "Params":
          {
            "Name": "MemSwappiness",
            "Value": "100"
          }
        }
      ]
    },
    {
      "Name": "SystemMemoryProcess",
      "Actions": [
        {
          "Name": "JoinCgroup",
          "Params":
          {
            "Controller": "memory",
            "Path": "system"
          }
        }
      ]
    },
    {
      "Name": "FreezerDisabled",
      "Actions": [
        {
          "Name": "SetAttribute",
          "Params":
          {
            "Name": "FreezerState",
            "Value": "0"
          }
        }
      ]
    },
    {
      "Name": "FreezerEnabled",
      "Actions": [
        {
          "Name": "SetAttribute",
          "Params":
          {
            "Name": "FreezerState",
            "Value": "1"
          }
        }
      ]
    }
  ],

  "AggregateProfiles": [
    {
      "Name": "SCHED_SP_DEFAULT",
      "Profiles": [ "TimerSlackNormal" ]
    },
    {
      "Name": "SCHED_SP_BACKGROUND",
      "Profiles": [ "HighEnergySaving", "LowIoPriority", "TimerSlackHigh" ]
    },
    {
      "Name": "SCHED_SP_FOREGROUND",
      "Profiles": [ "HighPerformance", "HighIoPriority", "TimerSlackNormal" ]
    },
    {
      "Name": "SCHED_SP_TOP_APP",
      "Profiles": [ "MaxPerformance", "MaxIoPriority", "TimerSlackNormal" ]
    },
    {
      "Name": "SCHED_SP_RT_APP",
      "Profiles": [ "RealtimePerformance", "MaxIoPriority", "TimerSlackNormal" ]
    },
    {
      "Name": "CPUSET_SP_DEFAULT",
      "Profiles": [ "TimerSlackNormal" ]
    },
    {
      "Name": "CPUSET_SP_BACKGROUND",
      "Profiles": [ "HighEnergySaving", "ProcessCapacityLow", "LowIoPriority", "TimerSlackHigh" ]
    },
    {
      "Name": "CPUSET_SP_FOREGROUND",
      "Profiles": [ "HighPerformance", "ProcessCapacityHigh", "HighIoPriority", "TimerSlackNormal" ]
    },
    {
      "Name": "CPUSET_SP_TOP_APP",
      "Profiles": [ "MaxPerformance", "ProcessCapacityMax", "MaxIoPriority", "TimerSlackNormal" ]
    },
    {
      "Name": "CPUSET_SP_SYSTEM",
      "Profiles": [ "ServiceCapacityLow", "TimerSlackNormal" ]
    },
    {
      "Name": "CPUSET_SP_RESTRICTED",
      "Profiles": [ "ServiceCapacityRestricted", "TimerSlackNormal" ]
    }
  ]
}
Loading