Skip to contentSkip to conversation

perf: fix initialization bug in parse_single_tracepoint_event()

PATCH In review Stephane Eranian 2 participants 4 messages Apr 21, 2010 – Apr 27, 2010 perf events

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 perf: fix initialization bug in parse_single_tracepoint_event()

The parse_single_tracepoint_event() was setting some attributes before it validated the event was indeed a tracepoint event. This caused problems with other initialization routines like in the builtin-top.c module whereby sample_period is not set if not 0.

--

 parse-events.c |   13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)
tools/perf/util/parse-events.c +7 -6
index 3b4ec67..82b8b7f 100644
@@ -418,12 +418,6 @@ parse_single_tracepoint_event(char *sys_name,
 	u64 id;
 	int fd;
 
-	attr->sample_type |= PERF_SAMPLE_RAW;
-	attr->sample_type |= PERF_SAMPLE_TIME;
-	attr->sample_type |= PERF_SAMPLE_CPU;
-
-	attr->sample_period = 1;
-
 	snprintf(evt_path, MAXPATHLEN, "%s/%s/%s/id", debugfs_path,
 		 sys_name, evt_name);
 
@@ -442,6 +436,13 @@ parse_single_tracepoint_event(char *sys_name,
 	attr->type = PERF_TYPE_TRACEPOINT;
 	*strp = evt_name + evt_length;
 
+	attr->sample_type |= PERF_SAMPLE_RAW;
+	attr->sample_type |= PERF_SAMPLE_TIME;
+	attr->sample_type |= PERF_SAMPLE_CPU;
+
+	attr->sample_period = 1;
+
+
 	return EVT_HANDLED;
 }
 
#3 lore raw

[tip:perf/core] perf: Fix initialization bug in parse_single_tracepoint_event()

In reply to Stephane Eranian
Commit-ID:  5710fcad7c367adefe5634dc998f1f88780a8457
Gitweb:     http://git.kernel.org/tip/5710fcad7c367adefe5634dc998f1f88780a8457
Author:     Stephane Eranian <[email protected]>
AuthorDate: Wed, 21 Apr 2010 18:06:01 +0200
Committer:  Frederic Weisbecker <[email protected]>
CommitDate: Sat, 24 Apr 2010 03:24:09 +0200

perf: Fix initialization bug in parse_single_tracepoint_event()

The parse_single_tracepoint_event() was setting some attributes before it validated the event was indeed a tracepoint event. This caused problems with other initialization routines like in the builtin-top.c module whereby sample_period is not set if not 0.

Cc Peter Zijlstra <[email protected]>
Cc Arnaldo Carvalho de Melo <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Ingo Molnar <[email protected]>

LKML-Reference: <[email protected]>

---
 tools/perf/util/parse-events.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)
tools/perf/util/parse-events.c +7 -6
index 3b4ec67..600d327 100644
@@ -418,12 +418,6 @@ parse_single_tracepoint_event(char *sys_name,
 	u64 id;
 	int fd;
 
-	attr->sample_type |= PERF_SAMPLE_RAW;
-	attr->sample_type |= PERF_SAMPLE_TIME;
-	attr->sample_type |= PERF_SAMPLE_CPU;
-
-	attr->sample_period = 1;
-
 	snprintf(evt_path, MAXPATHLEN, "%s/%s/%s/id", debugfs_path,
 		 sys_name, evt_name);
 
@@ -442,6 +436,13 @@ parse_single_tracepoint_event(char *sys_name,
 	attr->type = PERF_TYPE_TRACEPOINT;
 	*strp = evt_name + evt_length;
 
+	attr->sample_type |= PERF_SAMPLE_RAW;
+	attr->sample_type |= PERF_SAMPLE_TIME;
+	attr->sample_type |= PERF_SAMPLE_CPU;
+
+	attr->sample_period = 1;
+
+
 	return EVT_HANDLED;
 }