In cgroup v2 we need to handle processes and threads differently,
following patch will introduce virCgroupAddThread.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
---
src/libvirt-lxc.c | 2 +-
src/libvirt_private.syms | 4 ++--
src/lxc/lxc_controller.c | 4 ++--
src/qemu/qemu_process.c | 4 ++--
src/qemu/qemu_tpm.c | 2 +-
src/util/vircgroup.c | 32 ++++++++++++++++----------------
src/util/vircgroup.h | 4 ++--
7 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/src/libvirt-lxc.c b/src/libvirt-lxc.c
index c9f2146487..9bf0174b95 100644
--- a/src/libvirt-lxc.c
+++ b/src/libvirt-lxc.c
@@ -306,7 +306,7 @@ int virDomainLxcEnterCGroup(virDomainPtr domain,
if (virCgroupNewDetect(domain->id, -1, &cgroup) < 0)
goto error;
- if (virCgroupAddTask(cgroup, getpid()) < 0)
+ if (virCgroupAddProcess(cgroup, getpid()) < 0)
goto error;
virCgroupFree(&cgroup);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index b9dabfef1b..eac66b0174 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1498,8 +1498,8 @@ virBufferVasprintf;
# util/vircgroup.h
-virCgroupAddMachineTask;
-virCgroupAddTask;
+virCgroupAddMachineProcess;
+virCgroupAddProcess;
virCgroupAllowAllDevices;
virCgroupAllowDevice;
virCgroupAllowDevicePath;
diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c
index 4e84391bf5..4ead2dc9f0 100644
--- a/src/lxc/lxc_controller.c
+++ b/src/lxc/lxc_controller.c
@@ -875,12 +875,12 @@ static int virLXCControllerSetupCgroupLimits(virLXCControllerPtr ctrl)
ctrl->nicindexes)))
goto cleanup;
- if (virCgroupAddMachineTask(ctrl->cgroup, getpid()) < 0)
+ if (virCgroupAddMachineProcess(ctrl->cgroup, getpid()) < 0)
goto cleanup;
/* Add all qemu-nbd tasks to the cgroup */
for (i = 0; i < ctrl->nnbdpids; i++) {
- if (virCgroupAddMachineTask(ctrl->cgroup, ctrl->nbdpids[i]) < 0)
+ if (virCgroupAddMachineProcess(ctrl->cgroup, ctrl->nbdpids[i]) < 0)
goto cleanup;
}
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 72a59dec55..249dac39f2 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -2549,7 +2549,7 @@ qemuProcessSetupPid(virDomainObjPtr vm,
goto cleanup;
/* Move the thread to the sub dir */
- if (virCgroupAddTask(cgroup, pid) < 0)
+ if (virCgroupAddProcess(cgroup, pid) < 0)
goto cleanup;
}
@@ -2787,7 +2787,7 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm)
}
if (priv->cgroup &&
- virCgroupAddMachineTask(priv->cgroup, cpid) < 0)
+ virCgroupAddMachineProcess(priv->cgroup, cpid) < 0)
goto cleanup;
if (qemuSecurityDomainSetPathLabel(driver, vm, socketPath, true) < 0)
diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c
index 278b262c48..c64114feac 100644
--- a/src/qemu/qemu_tpm.c
+++ b/src/qemu/qemu_tpm.c
@@ -905,7 +905,7 @@ qemuExtTPMSetupCgroup(virQEMUDriverPtr driver,
_("Could not get process id of swtpm"));
goto cleanup;
}
- if (virCgroupAddTask(cgroup, pid) < 0)
+ if (virCgroupAddProcess(cgroup, pid) < 0)
goto cleanup;
break;
case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c
index 2328957818..cf510fb019 100644
--- a/src/util/vircgroup.c
+++ b/src/util/vircgroup.c
@@ -1183,35 +1183,35 @@ virCgroupAddTaskInternal(virCgroupPtr group, pid_t pid, bool withSystemd)
}
/**
- * virCgroupAddTask:
+ * virCgroupAddProcess:
*
- * @group: The cgroup to add a task to
- * @pid: The pid of the task to add
+ * @group: The cgroup to add a process to
+ * @pid: The pid of the process to add
*
- * Will add the task to all controllers, except the
+ * Will add the process to all controllers, except the
* systemd unit controller.
*
* Returns: 0 on success, -1 on error
*/
int
-virCgroupAddTask(virCgroupPtr group, pid_t pid)
+virCgroupAddProcess(virCgroupPtr group, pid_t pid)
{
return virCgroupAddTaskInternal(group, pid, false);
}
/**
- * virCgroupAddMachineTask:
+ * virCgroupAddMachineProcess:
*
- * @group: The cgroup to add a task to
- * @pid: The pid of the task to add
+ * @group: The cgroup to add a process to
+ * @pid: The pid of the process to add
*
- * Will add the task to all controllers, including the
+ * Will add the process to all controllers, including the
* systemd unit controller.
*
* Returns: 0 on success, -1 on error
*/
int
-virCgroupAddMachineTask(virCgroupPtr group, pid_t pid)
+virCgroupAddMachineProcess(virCgroupPtr group, pid_t pid)
{
return virCgroupAddTaskInternal(group, pid, true);
}
@@ -1592,7 +1592,7 @@ virCgroupNewMachineSystemd(const char *name,
goto error;
}
- if (virCgroupAddTask(*group, pidleader) < 0)
+ if (virCgroupAddProcess(*group, pidleader) < 0)
goto error;
return 0;
@@ -1648,7 +1648,7 @@ virCgroupNewMachineManual(const char *name,
group) < 0)
goto cleanup;
- if (virCgroupAddTask(*group, pidleader) < 0) {
+ if (virCgroupAddProcess(*group, pidleader) < 0) {
virErrorPtr saved = virSaveLastError();
virCgroupRemove(*group);
virCgroupFree(group);
@@ -4198,8 +4198,8 @@ virCgroupPathOfController(virCgroupPtr group ATTRIBUTE_UNUSED,
int
-virCgroupAddTask(virCgroupPtr group ATTRIBUTE_UNUSED,
- pid_t pid ATTRIBUTE_UNUSED)
+virCgroupAddProcess(virCgroupPtr group ATTRIBUTE_UNUSED,
+ pid_t pid ATTRIBUTE_UNUSED)
{
virReportSystemError(ENXIO, "%s",
_("Control groups not supported on this platform"));
@@ -4208,8 +4208,8 @@ virCgroupAddTask(virCgroupPtr group ATTRIBUTE_UNUSED,
int
-virCgroupAddMachineTask(virCgroupPtr group ATTRIBUTE_UNUSED,
- pid_t pid ATTRIBUTE_UNUSED)
+virCgroupAddMachineProcess(virCgroupPtr group ATTRIBUTE_UNUSED,
+ pid_t pid ATTRIBUTE_UNUSED)
{
virReportSystemError(ENXIO, "%s",
_("Control groups not supported on this platform"));
diff --git a/src/util/vircgroup.h b/src/util/vircgroup.h
index ee3b7c7222..bbd4c2ed57 100644
--- a/src/util/vircgroup.h
+++ b/src/util/vircgroup.h
@@ -118,8 +118,8 @@ int virCgroupPathOfController(virCgroupPtr group,
const char *key,
char **path);
-int virCgroupAddTask(virCgroupPtr group, pid_t pid);
-int virCgroupAddMachineTask(virCgroupPtr group, pid_t pid);
+int virCgroupAddProcess(virCgroupPtr group, pid_t pid);
+int virCgroupAddMachineProcess(virCgroupPtr group, pid_t pid);
int virCgroupSetBlkioWeight(virCgroupPtr group, unsigned int weight);
int virCgroupGetBlkioWeight(virCgroupPtr group, unsigned int *weight);
--
2.17.1
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Tue, Sep 18, 2018 at 2:17 PM, Pavel Hrdina <phrdina@redhat.com> wrote: > In cgroup v2 we need to handle processes and threads differently, > following patch will introduce virCgroupAddThread. > > Signed-off-by: Pavel Hrdina <phrdina@redhat.com> > Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> > --- > src/libvirt-lxc.c | 2 +- > src/libvirt_private.syms | 4 ++-- > src/lxc/lxc_controller.c | 4 ++-- > src/qemu/qemu_process.c | 4 ++-- > src/qemu/qemu_tpm.c | 2 +- > src/util/vircgroup.c | 32 ++++++++++++++++---------------- > src/util/vircgroup.h | 4 ++-- > 7 files changed, 26 insertions(+), 26 deletions(-) > > diff --git a/src/libvirt-lxc.c b/src/libvirt-lxc.c > index c9f2146487..9bf0174b95 100644 > --- a/src/libvirt-lxc.c > +++ b/src/libvirt-lxc.c > @@ -306,7 +306,7 @@ int virDomainLxcEnterCGroup(virDomainPtr domain, > if (virCgroupNewDetect(domain->id, -1, &cgroup) < 0) > goto error; > > - if (virCgroupAddTask(cgroup, getpid()) < 0) > + if (virCgroupAddProcess(cgroup, getpid()) < 0) > goto error; > > virCgroupFree(&cgroup); > diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms > index b9dabfef1b..eac66b0174 100644 > --- a/src/libvirt_private.syms > +++ b/src/libvirt_private.syms > @@ -1498,8 +1498,8 @@ virBufferVasprintf; > > > # util/vircgroup.h > -virCgroupAddMachineTask; > -virCgroupAddTask; > +virCgroupAddMachineProcess; > +virCgroupAddProcess; > virCgroupAllowAllDevices; > virCgroupAllowDevice; > virCgroupAllowDevicePath; > diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c > index 4e84391bf5..4ead2dc9f0 100644 > --- a/src/lxc/lxc_controller.c > +++ b/src/lxc/lxc_controller.c > @@ -875,12 +875,12 @@ static int virLXCControllerSetupCgroupLimits(virLXCControllerPtr > ctrl) > ctrl->nicindexes))) > goto cleanup; > > - if (virCgroupAddMachineTask(ctrl->cgroup, getpid()) < 0) > + if (virCgroupAddMachineProcess(ctrl->cgroup, getpid()) < 0) > goto cleanup; > > /* Add all qemu-nbd tasks to the cgroup */ > for (i = 0; i < ctrl->nnbdpids; i++) { > - if (virCgroupAddMachineTask(ctrl->cgroup, ctrl->nbdpids[i]) < 0) > + if (virCgroupAddMachineProcess(ctrl->cgroup, ctrl->nbdpids[i]) < > 0) > goto cleanup; > } > > diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c > index 72a59dec55..249dac39f2 100644 > --- a/src/qemu/qemu_process.c > +++ b/src/qemu/qemu_process.c > @@ -2549,7 +2549,7 @@ qemuProcessSetupPid(virDomainObjPtr vm, > goto cleanup; > > /* Move the thread to the sub dir */ > - if (virCgroupAddTask(cgroup, pid) < 0) > + if (virCgroupAddProcess(cgroup, pid) < 0) > goto cleanup; > > } > @@ -2787,7 +2787,7 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) > } > > if (priv->cgroup && > - virCgroupAddMachineTask(priv->cgroup, cpid) < 0) > + virCgroupAddMachineProcess(priv->cgroup, cpid) < 0) > goto cleanup; > > if (qemuSecurityDomainSetPathLabel(driver, vm, socketPath, true) < 0) > diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c > index 278b262c48..c64114feac 100644 > --- a/src/qemu/qemu_tpm.c > +++ b/src/qemu/qemu_tpm.c > @@ -905,7 +905,7 @@ qemuExtTPMSetupCgroup(virQEMUDriverPtr driver, > _("Could not get process id of swtpm")); > goto cleanup; > } > - if (virCgroupAddTask(cgroup, pid) < 0) > + if (virCgroupAddProcess(cgroup, pid) < 0) > goto cleanup; > break; > case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH: > diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c > index 2328957818..cf510fb019 100644 > --- a/src/util/vircgroup.c > +++ b/src/util/vircgroup.c > @@ -1183,35 +1183,35 @@ virCgroupAddTaskInternal(virCgroupPtr group, > pid_t pid, bool withSystemd) > } > > /** > - * virCgroupAddTask: > + * virCgroupAddProcess: > * > - * @group: The cgroup to add a task to > - * @pid: The pid of the task to add > + * @group: The cgroup to add a process to > + * @pid: The pid of the process to add > * > - * Will add the task to all controllers, except the > + * Will add the process to all controllers, except the > * systemd unit controller. > * > * Returns: 0 on success, -1 on error > */ > int > -virCgroupAddTask(virCgroupPtr group, pid_t pid) > +virCgroupAddProcess(virCgroupPtr group, pid_t pid) > { > return virCgroupAddTaskInternal(group, pid, false); > } > > /** > - * virCgroupAddMachineTask: > + * virCgroupAddMachineProcess: > * > - * @group: The cgroup to add a task to > - * @pid: The pid of the task to add > + * @group: The cgroup to add a process to > + * @pid: The pid of the process to add > * > - * Will add the task to all controllers, including the > + * Will add the process to all controllers, including the > * systemd unit controller. > * > * Returns: 0 on success, -1 on error > */ > int > -virCgroupAddMachineTask(virCgroupPtr group, pid_t pid) > +virCgroupAddMachineProcess(virCgroupPtr group, pid_t pid) > { > return virCgroupAddTaskInternal(group, pid, true); > } > @@ -1592,7 +1592,7 @@ virCgroupNewMachineSystemd(const char *name, > goto error; > } > > - if (virCgroupAddTask(*group, pidleader) < 0) > + if (virCgroupAddProcess(*group, pidleader) < 0) > goto error; > > return 0; > @@ -1648,7 +1648,7 @@ virCgroupNewMachineManual(const char *name, > group) < 0) > goto cleanup; > > - if (virCgroupAddTask(*group, pidleader) < 0) { > + if (virCgroupAddProcess(*group, pidleader) < 0) { > virErrorPtr saved = virSaveLastError(); > virCgroupRemove(*group); > virCgroupFree(group); > @@ -4198,8 +4198,8 @@ virCgroupPathOfController(virCgroupPtr group > ATTRIBUTE_UNUSED, > > > int > -virCgroupAddTask(virCgroupPtr group ATTRIBUTE_UNUSED, > - pid_t pid ATTRIBUTE_UNUSED) > +virCgroupAddProcess(virCgroupPtr group ATTRIBUTE_UNUSED, > + pid_t pid ATTRIBUTE_UNUSED) > { > virReportSystemError(ENXIO, "%s", > _("Control groups not supported on this > platform")); > @@ -4208,8 +4208,8 @@ virCgroupAddTask(virCgroupPtr group ATTRIBUTE_UNUSED, > > > int > -virCgroupAddMachineTask(virCgroupPtr group ATTRIBUTE_UNUSED, > - pid_t pid ATTRIBUTE_UNUSED) > +virCgroupAddMachineProcess(virCgroupPtr group ATTRIBUTE_UNUSED, > + pid_t pid ATTRIBUTE_UNUSED) > { > virReportSystemError(ENXIO, "%s", > _("Control groups not supported on this > platform")); > diff --git a/src/util/vircgroup.h b/src/util/vircgroup.h > index ee3b7c7222..bbd4c2ed57 100644 > --- a/src/util/vircgroup.h > +++ b/src/util/vircgroup.h > @@ -118,8 +118,8 @@ int virCgroupPathOfController(virCgroupPtr group, > const char *key, > char **path); > > -int virCgroupAddTask(virCgroupPtr group, pid_t pid); > -int virCgroupAddMachineTask(virCgroupPtr group, pid_t pid); > +int virCgroupAddProcess(virCgroupPtr group, pid_t pid); > +int virCgroupAddMachineProcess(virCgroupPtr group, pid_t pid); > > int virCgroupSetBlkioWeight(virCgroupPtr group, unsigned int weight); > int virCgroupGetBlkioWeight(virCgroupPtr group, unsigned int *weight); > -- > 2.17.1 > > -- > libvir-list mailing list > libvir-list@redhat.com > https://www.redhat.com/mailman/listinfo/libvir-list > -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2024 Red Hat, Inc.