[PATCH] perf: Don't list tracepoints without an id

Peter Zijlstra
2009-08-05T19:24:01Z

Stop perf list from displaying tracepoints without an id file.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
tools/perf/util/parse-events.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index 7bdad8d..d00636b 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -568,6 +568,7 @@ static void print_tracepoint_events(void)
struct dirent *sys_next, *evt_next, sys_dirent, evt_dirent;
struct stat st;
char evt_path[MAXPATHLEN];
+ int fd;

if (valid_debugfs_mount(debugfs_path))
return;
@@ -582,6 +583,15 @@ static void print_tracepoint_events(void)
goto cleanup;
for_each_event(sys_dirent, evt_dir, evt_dirent, evt_next,
evt_path, st) {
+
+ snprintf(evt_path, MAXPATHLEN, "%s/%s/%s/id",
+ debugfs_path,
+ sys_dirent.d_name, evt_dirent.d_name);
+ fd = open(evt_path, O_RDONLY);
+ if (fd < 0)
+ continue;
+ close(fd);
+
snprintf(evt_path, MAXPATHLEN, "%s:%s",
sys_dirent.d_name, evt_dirent.d_name);
fprintf(stderr, " %-40s [%s]\n", evt_path,