]> git.ipfire.org Git - pakfire.git/commitdiff
cgroups: Automatically enable necessary controllers
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 14 Dec 2024 13:26:46 +0000 (13:26 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 14 Dec 2024 13:26:46 +0000 (13:26 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/cgroup.c

index a31dc1b5486ef00b7f67fa1a7ce73a4532d38f7c..e86711f893951cf661af517cbb831a127f32887b 100644 (file)
@@ -566,6 +566,11 @@ int pakfire_cgroup_fd(struct pakfire_cgroup* cgroup) {
 int pakfire_cgroup_set_guaranteed_memory(struct pakfire_cgroup* cgroup, size_t mem) {
        int r;
 
+       // Enable the memory controller
+       r = pakfire_cgroup_enable_controller(cgroup, PAKFIRE_CGROUP_CONTROLLER_MEMORY);
+       if (r < 0)
+               return r;
+
        DEBUG(cgroup->ctx, "%s: Setting guaranteed memory to %zu byte(s)\n",
                pakfire_cgroup_name(cgroup), mem);
 
@@ -581,6 +586,11 @@ int pakfire_cgroup_set_guaranteed_memory(struct pakfire_cgroup* cgroup, size_t m
 int pakfire_cgroup_set_memory_limit(struct pakfire_cgroup* cgroup, size_t mem) {
        int r;
 
+       // Enable the memory controller
+       r = pakfire_cgroup_enable_controller(cgroup, PAKFIRE_CGROUP_CONTROLLER_MEMORY);
+       if (r < 0)
+               return r;
+
        DEBUG(cgroup->ctx, "%s: Setting memory limit to %zu byte(s)\n",
                pakfire_cgroup_name(cgroup), mem);
 
@@ -598,6 +608,11 @@ int pakfire_cgroup_set_memory_limit(struct pakfire_cgroup* cgroup, size_t mem) {
 int pakfire_cgroup_set_pid_limit(struct pakfire_cgroup* cgroup, size_t limit) {
        int r;
 
+       // Enable the PID controller
+       r = pakfire_cgroup_enable_controller(cgroup, PAKFIRE_CGROUP_CONTROLLER_PIDS);
+       if (r < 0)
+               return r;
+
        DEBUG(cgroup->ctx, "%s: Setting PID limit to %zu\n",
                pakfire_cgroup_name(cgroup), limit);