From 69a1d6452f8c1130ff6d6153f6d0cde843491c08 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Thu, 24 Jan 2019 20:24:33 +0100 Subject: [PATCH] perfmon: enable pmc event before reading rdpmc index Change-Id: I9b0a101e5d78c10257e3c5d8f5573c3eb29bfdef Signed-off-by: Damjan Marion --- src/plugins/perfmon/perfmon_periodic.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/perfmon/perfmon_periodic.c b/src/plugins/perfmon/perfmon_periodic.c index ae20ac4c62f..ccf3e9eed81 100644 --- a/src/plugins/perfmon/perfmon_periodic.c +++ b/src/plugins/perfmon/perfmon_periodic.c @@ -161,6 +161,12 @@ enable_current_events (perfmon_main_t * pm) else p = 0; + if (ioctl (fd, PERF_EVENT_IOC_RESET, 0) < 0) + clib_unix_warning ("reset ioctl"); + + if (ioctl (fd, PERF_EVENT_IOC_ENABLE, 0) < 0) + clib_unix_warning ("enable ioctl"); + /* * Software event counters - and others not capable of being * read via the "rdpmc" instruction - will be read @@ -171,12 +177,6 @@ enable_current_events (perfmon_main_t * pm) else index = p->index - 1; - if (ioctl (fd, PERF_EVENT_IOC_RESET, 0) < 0) - clib_unix_warning ("reset ioctl"); - - if (ioctl (fd, PERF_EVENT_IOC_ENABLE, 0) < 0) - clib_unix_warning ("enable ioctl"); - pm->rdpmc_indices[i][my_thread_index] = index; pm->perf_event_pages[i][my_thread_index] = (void *) p; pm->pm_fds[i][my_thread_index] = fd; -- 2.16.6