Merge "libprocessgroup: Support per-API level task profiles" am: 180b2671cc
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1507918 Change-Id: Id626abe4de8467791f83a47c50444ce4073ec4d1
This commit is contained in:
commit
ccc41dd652
9 changed files with 2141 additions and 6 deletions
|
|
@ -15,6 +15,11 @@
|
|||
prebuilt_etc {
|
||||
name: "cgroups.json",
|
||||
src: "cgroups.json",
|
||||
required: [
|
||||
"cgroups_28.json",
|
||||
"cgroups_29.json",
|
||||
"cgroups_30.json",
|
||||
],
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
|
|
@ -24,9 +29,50 @@ 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 {
|
||||
|
|
|
|||
59
libprocessgroup/profiles/cgroups_28.json
Normal file
59
libprocessgroup/profiles/cgroups_28.json
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
"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
libprocessgroup/profiles/cgroups_29.json
Normal file
59
libprocessgroup/profiles/cgroups_29.json
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
"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
libprocessgroup/profiles/cgroups_30.json
Normal file
59
libprocessgroup/profiles/cgroups_30.json
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
"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
libprocessgroup/profiles/task_profiles_28.json
Normal file
627
libprocessgroup/profiles/task_profiles_28.json
Normal file
|
|
@ -0,0 +1,627 @@
|
|||
{
|
||||
"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" ]
|
||||
}
|
||||
]
|
||||
}
|
||||
627
libprocessgroup/profiles/task_profiles_29.json
Normal file
627
libprocessgroup/profiles/task_profiles_29.json
Normal file
|
|
@ -0,0 +1,627 @@
|
|||
{
|
||||
"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" ]
|
||||
}
|
||||
]
|
||||
}
|
||||
627
libprocessgroup/profiles/task_profiles_30.json
Normal file
627
libprocessgroup/profiles/task_profiles_30.json
Normal file
|
|
@ -0,0 +1,627 @@
|
|||
{
|
||||
"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" ]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
|
||||
#include "cgroup_descriptor.h"
|
||||
|
||||
using android::base::GetBoolProperty;
|
||||
using android::base::GetUintProperty;
|
||||
using android::base::StringPrintf;
|
||||
using android::base::unique_fd;
|
||||
|
||||
|
|
@ -55,6 +55,8 @@ namespace cgrouprc {
|
|||
static constexpr const char* CGROUPS_DESC_FILE = "/etc/cgroups.json";
|
||||
static constexpr const char* CGROUPS_DESC_VENDOR_FILE = "/vendor/etc/cgroups.json";
|
||||
|
||||
static constexpr const char* TEMPLATE_CGROUPS_DESC_API_FILE = "/etc/task_profiles/cgroups_%u.json";
|
||||
|
||||
static bool ChangeDirModeAndOwner(const std::string& path, mode_t mode, const std::string& uid,
|
||||
const std::string& gid, bool permissive_mode = false) {
|
||||
uid_t pw_uid = -1;
|
||||
|
|
@ -212,8 +214,20 @@ static bool ReadDescriptorsFromFile(const std::string& file_name,
|
|||
}
|
||||
|
||||
static bool ReadDescriptors(std::map<std::string, CgroupDescriptor>* descriptors) {
|
||||
unsigned int api_level = GetUintProperty<unsigned int>("ro.product.first_api_level", 0);
|
||||
std::string sys_cgroups_path = CGROUPS_DESC_FILE;
|
||||
|
||||
// load API-level specific system cgroups descriptors if available
|
||||
if (api_level > 0) {
|
||||
std::string api_cgroups_path =
|
||||
android::base::StringPrintf(TEMPLATE_CGROUPS_DESC_API_FILE, api_level);
|
||||
if (!access(api_cgroups_path.c_str(), F_OK) || errno != ENOENT) {
|
||||
sys_cgroups_path = api_cgroups_path;
|
||||
}
|
||||
}
|
||||
|
||||
// load system cgroup descriptors
|
||||
if (!ReadDescriptorsFromFile(CGROUPS_DESC_FILE, descriptors)) {
|
||||
if (!ReadDescriptorsFromFile(sys_cgroups_path, descriptors)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
|
||||
#include <android-base/file.h>
|
||||
#include <android-base/logging.h>
|
||||
#include <android-base/properties.h>
|
||||
#include <android-base/stringprintf.h>
|
||||
#include <android-base/strings.h>
|
||||
#include <android-base/threads.h>
|
||||
|
|
@ -38,13 +39,17 @@
|
|||
#endif
|
||||
|
||||
using android::base::GetThreadId;
|
||||
using android::base::GetUintProperty;
|
||||
using android::base::StringPrintf;
|
||||
using android::base::StringReplace;
|
||||
using android::base::unique_fd;
|
||||
using android::base::WriteStringToFile;
|
||||
|
||||
#define TASK_PROFILE_DB_FILE "/etc/task_profiles.json"
|
||||
#define TASK_PROFILE_DB_VENDOR_FILE "/vendor/etc/task_profiles.json"
|
||||
static constexpr const char* TASK_PROFILE_DB_FILE = "/etc/task_profiles.json";
|
||||
static constexpr const char* TASK_PROFILE_DB_VENDOR_FILE = "/vendor/etc/task_profiles.json";
|
||||
|
||||
static constexpr const char* TEMPLATE_TASK_PROFILE_API_FILE =
|
||||
"/etc/task_profiles/task_profiles_%u.json";
|
||||
|
||||
void ProfileAttribute::Reset(const CgroupController& controller, const std::string& file_name) {
|
||||
controller_ = controller;
|
||||
|
|
@ -386,9 +391,21 @@ TaskProfiles& TaskProfiles::GetInstance() {
|
|||
}
|
||||
|
||||
TaskProfiles::TaskProfiles() {
|
||||
unsigned int api_level = GetUintProperty<unsigned int>("ro.product.first_api_level", 0);
|
||||
std::string sys_profiles_path = TASK_PROFILE_DB_FILE;
|
||||
|
||||
// load API-level specific system task profiles if available
|
||||
if (api_level > 0) {
|
||||
std::string api_profiles_path =
|
||||
android::base::StringPrintf(TEMPLATE_TASK_PROFILE_API_FILE, api_level);
|
||||
if (!access(api_profiles_path.c_str(), F_OK) || errno != ENOENT) {
|
||||
sys_profiles_path = api_profiles_path;
|
||||
}
|
||||
}
|
||||
|
||||
// load system task profiles
|
||||
if (!Load(CgroupMap::GetInstance(), TASK_PROFILE_DB_FILE)) {
|
||||
LOG(ERROR) << "Loading " << TASK_PROFILE_DB_FILE << " for [" << getpid() << "] failed";
|
||||
if (!Load(CgroupMap::GetInstance(), sys_profiles_path)) {
|
||||
LOG(ERROR) << "Loading " << sys_profiles_path << " for [" << getpid() << "] failed";
|
||||
}
|
||||
|
||||
// load vendor task profiles if the file exists
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue