]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
perf tools: Add tracing_path and remove unneeded functions
authorJiri Olsa <jolsa@kernel.org>
Wed, 26 Aug 2015 13:46:44 +0000 (15:46 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 28 Aug 2015 17:53:51 +0000 (14:53 -0300)
There's no need for find_tracing_dir, because perf already searches for
debugfs/tracefs mount on start and populate tracing_events_path.

Adding tracing_path to carry tracing dir string to be used in
get_tracing_file instead of calling find_tracing_dir.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Raphael Beamonte <raphael.beamonte@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1440596813-12844-3-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/util.c
tools/perf/util/util.h

index f7adf1203df14f3f1404c1198f99fe916c5d63c7..d33c34196a5a9d2a38d773470b84621b794c100b 100644 (file)
@@ -34,6 +34,7 @@ bool test_attr__enabled;
 bool perf_host  = true;
 bool perf_guest = false;
 
+char tracing_path[PATH_MAX + 1]        = "/sys/kernel/debug/tracing";
 char tracing_events_path[PATH_MAX + 1] = "/sys/kernel/debug/tracing/events";
 
 void event_attr_init(struct perf_event_attr *attr)
@@ -391,6 +392,8 @@ void set_term_quiet_input(struct termios *old)
 
 static void set_tracing_events_path(const char *tracing, const char *mountpoint)
 {
+       snprintf(tracing_path, sizeof(tracing_path), "%s/%s",
+                mountpoint, tracing);
        snprintf(tracing_events_path, sizeof(tracing_events_path), "%s/%s%s",
                 mountpoint, tracing, "events");
 }
@@ -440,62 +443,11 @@ void perf_debugfs_set_path(const char *mntpt)
        set_tracing_events_path("tracing/", mntpt);
 }
 
-static const char *find_tracefs(void)
-{
-       const char *path = __perf_tracefs_mount(NULL);
-
-       return path;
-}
-
-static const char *find_debugfs(void)
-{
-       const char *path = __perf_debugfs_mount(NULL);
-
-       if (!path)
-               fprintf(stderr, "Your kernel does not support the debugfs filesystem");
-
-       return path;
-}
-
-/*
- * Finds the path to the debugfs/tracing
- * Allocates the string and stores it.
- */
-const char *find_tracing_dir(void)
-{
-       const char *tracing_dir = "";
-       static char *tracing;
-       static int tracing_found;
-       const char *debugfs;
-
-       if (tracing_found)
-               return tracing;
-
-       debugfs = find_tracefs();
-       if (!debugfs) {
-               tracing_dir = "/tracing";
-               debugfs = find_debugfs();
-               if (!debugfs)
-                       return NULL;
-       }
-
-       if (asprintf(&tracing, "%s%s", debugfs, tracing_dir) < 0)
-               return NULL;
-
-       tracing_found = 1;
-       return tracing;
-}
-
 char *get_tracing_file(const char *name)
 {
-       const char *tracing;
        char *file;
 
-       tracing = find_tracing_dir();
-       if (!tracing)
-               return NULL;
-
-       if (asprintf(&file, "%s/%s", tracing, name) < 0)
+       if (asprintf(&file, "%s/%s", tracing_path, name) < 0)
                return NULL;
 
        return file;
index 88a891562a47c010774d85b068fda72c0b31d871..291be1d84bc3e679ef1d3c4974309f566bd9a652 100644 (file)
 extern const char *graph_line;
 extern const char *graph_dotted_line;
 extern char buildid_dir[];
+extern char tracing_path[];
 extern char tracing_events_path[];
 extern void perf_debugfs_set_path(const char *mountpoint);
 const char *perf_debugfs_mount(const char *mountpoint);
-const char *find_tracing_dir(void);
 char *get_tracing_file(const char *name);
 void put_tracing_file(char *file);