[RFC] [PATCH 1/1] Remove static debugfs path from parse-events

ashwinc
2009-10-04T22:44:19Z

[-- Attachment #1: Type: text/plain, Size: 421 bytes --]

I was working on getting timechart running and noticed that it wouldn't
get any sched_switch/wakeup etc events if debugfs is mounted anywhere
other than /sys/kernel/debug/. Mine was mounted in /debug (the second
sane location ;) )

So we'd need something like whats in the patch to make use of the global
debugfs_path.

Also, I'm assuming that parse-events.c is governed by GPLv2 or something
similar ?

Cheers,
Ashwin

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: perf-events-Remove-static-debugfs-path.patch --]
[-- Type: text/x-patch; name="perf-events-Remove-static-debugfs-path.patch", Size: 1106 bytes --]

>From 289657eaae162b6a5571894ec71d1ecca5454a54 Mon Sep 17 00:00:00 2001
From: Ashwin Chaugule <ashwinc@quicinc.com>
Date: Wed, 30 Sep 2009 13:36:58 -0400
Subject: [PATCH] [perf-events] Remove static debugfs path

Timechart doesn't work if debugfs is not in /sys/kernel/debug/.
Fixed by using global debugfs_path which is filled in by perf.

modified: tools/perf/util/parse-events.c

Signed-off-by: Ashwin Chaugule <ashwinc@quicinc.com>
---
tools/perf/util/parse-events.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index 87c424d..c661c90 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -690,8 +690,11 @@ static void store_event_type(const char *orgname)
char filename[PATH_MAX], *c;
FILE *file;
int id;
+
+ sprintf(filename, "%s/", debugfs_path);
+ strncat(filename, orgname, strlen(orgname));
+ strcat(filename, "/id");

- sprintf(filename, "/sys/kernel/debug/tracing/events/%s/id", orgname);
c = strchr(filename, ':');
if (c)
*c = '/';
--
1.5.6.3