mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-31 18:15:25 +00:00
Avoid spamming logs with cgroups warnings
The code for putting the emulator threads in a separate cgroup
would spam the logs with warnings
2013-02-27 16:08:26.731+0000: 29624: warning : virCgroupMoveTask:887 : no vm cgroup in controller 3
2013-02-27 16:08:26.731+0000: 29624: warning : virCgroupMoveTask:887 : no vm cgroup in controller 4
2013-02-27 16:08:26.732+0000: 29624: warning : virCgroupMoveTask:887 : no vm cgroup in controller 6
This is because it has only created child cgroups for 3 of the
controllers, but was trying to move the processes from all the
controllers. The fix is to only try to move threads in the
controllers we actually created. Also remove the warning and
make it return a hard error to avoid such lazy callers in the
future.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
(cherry picked from commit 279336c5d8
)
This commit is contained in:
parent
bf95285541
commit
69ef9b78c8
@ -685,6 +685,11 @@ int qemuSetupCgroupForEmulator(struct qemud_driver *driver,
|
||||
}
|
||||
|
||||
for (i = 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) {
|
||||
if (i != VIR_CGROUP_CONTROLLER_CPU &&
|
||||
i != VIR_CGROUP_CONTROLLER_CPUACCT &&
|
||||
i != VIR_CGROUP_CONTROLLER_CPUSET)
|
||||
continue;
|
||||
|
||||
if (!qemuCgroupControllerActive(driver, i))
|
||||
continue;
|
||||
rc = virCgroupMoveTask(cgroup, cgroup_emulator, i);
|
||||
|
@ -882,8 +882,7 @@ int virCgroupMoveTask(virCgroupPtr src_group, virCgroupPtr dest_group,
|
||||
|
||||
if (!src_group->controllers[controller].mountPoint ||
|
||||
!dest_group->controllers[controller].mountPoint) {
|
||||
VIR_WARN("no vm cgroup in controller %d", controller);
|
||||
return 0;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
rc = virCgroupGetValueStr(src_group, controller, "tasks", &content);
|
||||
|
Loading…
Reference in New Issue
Block a user