freezer: allow dynamic changes to freezer.state
create new profiles to allowing thawing and freezing back the freezer
cgroup
Bug: 151225245
Test: Manually verified that using the SetTaskProfiles method on the
profiles thaws and freezes back the freezer cgroup.
Change-Id: I7f3e193ebe79b49c1f6ac52b6138ff4ec26fc570
diff --git a/libprocessgroup/profiles/task_profiles.json b/libprocessgroup/profiles/task_profiles.json
index 3f08535..0cee6bb 100644
--- a/libprocessgroup/profiles/task_profiles.json
+++ b/libprocessgroup/profiles/task_profiles.json
@@ -49,6 +49,11 @@
"Name": "UClampMax",
"Controller": "cpu",
"File": "cpu.uclamp.max"
+ },
+ {
+ "Name": "FreezerState",
+ "Controller": "freezer",
+ "File": "frozen/freezer.state"
}
],
@@ -518,6 +523,32 @@
}
}
]
+ },
+ {
+ "Name": "FreezerThawed",
+ "Actions": [
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "FreezerState",
+ "Value": "THAWED"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "FreezerFrozen",
+ "Actions": [
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "FreezerState",
+ "Value": "FROZEN"
+ }
+ }
+ ]
}
],
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 201fb12..324fa19 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -324,7 +324,7 @@
chown system system /dev/freezer/frozen/freezer.state
chown system system /dev/freezer/frozen/cgroup.procs
- chmod 0444 /dev/freezer/frozen/freezer.state
+ chmod 0664 /dev/freezer/frozen/freezer.state
# make the PSI monitor accessible to others
chown system system /proc/pressure/memory