Pablo Greco 40546a
From 77eb53c13d2d9a641143cc374f8262c2cb004120 Mon Sep 17 00:00:00 2001
Pablo Greco 40546a
Message-Id: <77eb53c13d2d9a641143cc374f8262c2cb004120@dist-git>
Pablo Greco 40546a
From: Pavel Hrdina <phrdina@redhat.com>
Pablo Greco 40546a
Date: Mon, 1 Jul 2019 17:08:14 +0200
Pablo Greco 40546a
Subject: [PATCH] util: enable cgroups v2 cpuset controller for threads
Pablo Greco 40546a
MIME-Version: 1.0
Pablo Greco 40546a
Content-Type: text/plain; charset=UTF-8
Pablo Greco 40546a
Content-Transfer-Encoding: 8bit
Pablo Greco 40546a
Pablo Greco 40546a
When we create cgroup for qemu threads we need to enable cpuset
Pablo Greco 40546a
controller in order to use it.
Pablo Greco 40546a
Pablo Greco 40546a
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Pablo Greco 40546a
(cherry picked from commit a6aedcf39bd3212a3cd624b765bb724fd36d6a8a)
Pablo Greco 40546a
Pablo Greco 40546a
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1689297
Pablo Greco 40546a
Pablo Greco 40546a
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Pablo Greco 40546a
Message-Id: <1dfb136ea7a417fdcc03b84c59bb364a75e24d52.1561993100.git.phrdina@redhat.com>
Pablo Greco 40546a
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Pablo Greco 40546a
---
Pablo Greco 40546a
 src/util/vircgroupv2.c | 6 ++++++
Pablo Greco 40546a
 1 file changed, 6 insertions(+)
Pablo Greco 40546a
Pablo Greco 40546a
diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c
Pablo Greco 40546a
index ef1f286726..04638c4e50 100644
Pablo Greco 40546a
--- a/src/util/vircgroupv2.c
Pablo Greco 40546a
+++ b/src/util/vircgroupv2.c
Pablo Greco 40546a
@@ -401,6 +401,12 @@ virCgroupV2MakeGroup(virCgroupPtr parent ATTRIBUTE_UNUSED,
Pablo Greco 40546a
                                             VIR_CGROUP_CONTROLLER_CPU) < 0) {
Pablo Greco 40546a
                 return -1;
Pablo Greco 40546a
             }
Pablo Greco 40546a
+
Pablo Greco 40546a
+            if (virCgroupV2HasController(parent, VIR_CGROUP_CONTROLLER_CPUSET) &&
Pablo Greco 40546a
+                virCgroupV2EnableController(parent,
Pablo Greco 40546a
+                                            VIR_CGROUP_CONTROLLER_CPUSET) < 0) {
Pablo Greco 40546a
+                return -1;
Pablo Greco 40546a
+            }
Pablo Greco 40546a
         } else {
Pablo Greco 40546a
             size_t i;
Pablo Greco 40546a
             for (i = 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) {
Pablo Greco 40546a
-- 
Pablo Greco 40546a
2.22.0
Pablo Greco 40546a