perf tools: cleanup initialization of attr->size
authorStephane Eranian <eranian@google.com>
Thu, 9 Feb 2012 15:12:38 +0000 (16:12 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 14 Feb 2012 01:35:04 +0000 (23:35 -0200)
The perf_event_attr size needs to be initialized in all cases because it
captures the ABI version.

This patch moves the initialization of the field from the
perf_event_open() syscall stub to its proper location in the
event_attr_init().

Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20120209151238.GA10272@quad
Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/perf.h
tools/perf/util/util.c

index deb17dba4a5b42dc4a3854d94f39adcd354f5465..03a045618148ec08a3d3f2de9aeb50081eae1486 100644 (file)
@@ -167,7 +167,6 @@ sys_perf_event_open(struct perf_event_attr *attr,
                      pid_t pid, int cpu, int group_fd,
                      unsigned long flags)
 {
-       attr->size = sizeof(*attr);
        return syscall(__NR_perf_event_open, attr, pid, cpu,
                       group_fd, flags);
 }
index fb25d132921882c3b432ece1bc07bd2700800bc2..8109a907841e63edb56020abd6e03aca8c463eb7 100644 (file)
@@ -14,6 +14,8 @@ void event_attr_init(struct perf_event_attr *attr)
                attr->exclude_host  = 1;
        if (!perf_guest)
                attr->exclude_guest = 1;
+       /* to capture ABI version */
+       attr->size = sizeof(*attr);
 }
 
 int mkdir_p(char *path, mode_t mode)