[libvirt] [PATCH] perf: Consider all perf events mentioned in commandline

Currently 'virsh perf domainName --enable a,b' command fails to enable/disable perf event b if perf event a has failed to get enabled/disabled. This patch fixes this issue. Signed-off-by: Nitesh Konkar <nitkon12@linux.vnet.ibm.com> --- src/qemu/qemu_driver.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 0bf1856..365af37 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -9884,9 +9884,9 @@ qemuDomainSetPerfEvents(virDomainPtr dom, type = virPerfEventTypeFromString(param->field); if (!enabled && virPerfEventDisable(priv->perf, type) < 0) - goto endjob; + continue; if (enabled && virPerfEventEnable(priv->perf, type, vm->pid) < 0) - goto endjob; + continue; def->perf.events[type] = enabled ? VIR_TRISTATE_BOOL_YES : VIR_TRISTATE_BOOL_NO; -- 1.9.3

On Fri, Dec 16, 2016 at 23:12:11 +0530, Nitesh Konkar wrote:
Currently 'virsh perf domainName --enable a,b' command fails to enable/disable perf event b if perf event a has failed to get enabled/disabled. This patch fixes this issue.
Signed-off-by: Nitesh Konkar <nitkon12@linux.vnet.ibm.com> --- src/qemu/qemu_driver.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 0bf1856..365af37 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -9884,9 +9884,9 @@ qemuDomainSetPerfEvents(virDomainPtr dom, type = virPerfEventTypeFromString(param->field);
if (!enabled && virPerfEventDisable(priv->perf, type) < 0) - goto endjob; + continue;
With this you don't get any notification that some of the operations failed. You also don't get any notification if all of the operations fail. I think the current semantics are ood as they are. NACK Peter
participants (2)
-
Nitesh Konkar
-
Peter Krempa