aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2013-02-20 10:32:31 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2013-03-15 12:06:01 -0400
commit1355915ac626da30a0c02ccd4569c1e5ce2cbb82 (patch)
tree37a7cb0618572c4c45d0ec6949cdda6253694291 /tools/perf/util
parent85c66be101e1847f0eb46dcb48d5738572129694 (diff)
perf tools: Extract perf-specific stuff from debugfs.c
Move them to util.c and simplify code a bit. Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Ingo Molnar <mingo@kernel.org> Cc: Steven Rostedt <rostedt@goodmis.org> Link: http://lkml.kernel.org/r/1361374353-30385-6-git-send-email-bp@alien8.de Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util')
-rw-r--r--tools/perf/util/trace-event-info.c2
-rw-r--r--tools/perf/util/util.c27
-rw-r--r--tools/perf/util/util.h7
3 files changed, 33 insertions, 3 deletions
diff --git a/tools/perf/util/trace-event-info.c b/tools/perf/util/trace-event-info.c
index 36b9b49d0177..5c1509ab0c29 100644
--- a/tools/perf/util/trace-event-info.c
+++ b/tools/perf/util/trace-event-info.c
@@ -80,7 +80,7 @@ static void *malloc_or_die(unsigned int size)
80 80
81static const char *find_debugfs(void) 81static const char *find_debugfs(void)
82{ 82{
83 const char *path = debugfs_mount(NULL); 83 const char *path = perf_debugfs_mount(NULL);
84 84
85 if (!path) 85 if (!path)
86 die("Your kernel not support debugfs filesystem"); 86 die("Your kernel not support debugfs filesystem");
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
index 805d1f52c5b4..59d868add275 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -17,6 +17,8 @@ bool test_attr__enabled;
17bool perf_host = true; 17bool perf_host = true;
18bool perf_guest = false; 18bool perf_guest = false;
19 19
20char tracing_events_path[PATH_MAX + 1] = "/sys/kernel/debug/tracing/events";
21
20void event_attr_init(struct perf_event_attr *attr) 22void event_attr_init(struct perf_event_attr *attr)
21{ 23{
22 if (!perf_host) 24 if (!perf_host)
@@ -242,3 +244,28 @@ void get_term_dimensions(struct winsize *ws)
242 ws->ws_row = 25; 244 ws->ws_row = 25;
243 ws->ws_col = 80; 245 ws->ws_col = 80;
244} 246}
247
248static void set_tracing_events_path(const char *mountpoint)
249{
250 snprintf(tracing_events_path, sizeof(tracing_events_path), "%s/%s",
251 mountpoint, "tracing/events");
252}
253
254const char *perf_debugfs_mount(const char *mountpoint)
255{
256 const char *mnt;
257
258 mnt = debugfs_mount(mountpoint);
259 if (!mnt)
260 return NULL;
261
262 set_tracing_events_path(mnt);
263
264 return mnt;
265}
266
267void perf_debugfs_set_path(const char *mntpt)
268{
269 snprintf(debugfs_mountpoint, strlen(debugfs_mountpoint), "%s", mntpt);
270 set_tracing_events_path(mntpt);
271}
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index 09b4c26b71aa..6a0781c3a573 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -73,10 +73,14 @@
73#include <linux/magic.h> 73#include <linux/magic.h>
74#include "types.h" 74#include "types.h"
75#include <sys/ttydefaults.h> 75#include <sys/ttydefaults.h>
76#include <lk/debugfs.h>
76 77
77extern const char *graph_line; 78extern const char *graph_line;
78extern const char *graph_dotted_line; 79extern const char *graph_dotted_line;
79extern char buildid_dir[]; 80extern char buildid_dir[];
81extern char tracing_events_path[];
82extern void perf_debugfs_set_path(const char *mountpoint);
83const char *perf_debugfs_mount(const char *mountpoint);
80 84
81/* On most systems <limits.h> would have given us this, but 85/* On most systems <limits.h> would have given us this, but
82 * not on some systems (e.g. GNU/Hurd). 86 * not on some systems (e.g. GNU/Hurd).
@@ -274,5 +278,4 @@ extern unsigned int page_size;
274 278
275struct winsize; 279struct winsize;
276void get_term_dimensions(struct winsize *ws); 280void get_term_dimensions(struct winsize *ws);
277 281#endif /* GIT_COMPAT_UTIL_H */
278#endif