diff options
| author | Jiri Olsa <jolsa@kernel.org> | 2015-09-02 09:56:34 +0200 | 
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-09-04 12:00:45 -0300 | 
| commit | 592d5a6ba86a31681fa5e20a63a145b0a3b53c8a (patch) | |
| tree | 4a37f6605fb5ab3b3b974ecf23e23cd2a46c81a3 | |
| parent | 65d4b265103a3cb2f0993c946815157a38797421 (diff) | |
tools lib api fs: Move tracing_path interface into api/fs/tracing_path.c
Moving tracing_path interface into api/fs/tracing_path.c out of util.c.
It seems generic enough to be used by others, and I couldn't think of
better place.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Reviewed-by: Matt Fleming <matt.fleming@intel.com>
Reviewed-by: Raphael Beamonte <raphael.beamonte@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1441180605-24737-5-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
| -rw-r--r-- | tools/lib/api/fs/Build | 1 | ||||
| -rw-r--r-- | tools/lib/api/fs/tracing_path.c | 83 | ||||
| -rw-r--r-- | tools/lib/api/fs/tracing_path.h | 13 | ||||
| -rw-r--r-- | tools/perf/perf.c | 2 | ||||
| -rw-r--r-- | tools/perf/util/parse-events.c | 2 | ||||
| -rw-r--r-- | tools/perf/util/trace-event-info.c | 2 | ||||
| -rw-r--r-- | tools/perf/util/trace-event.c | 1 | ||||
| -rw-r--r-- | tools/perf/util/util.c | 70 | ||||
| -rw-r--r-- | tools/perf/util/util.h | 6 | 
9 files changed, 101 insertions, 79 deletions
| diff --git a/tools/lib/api/fs/Build b/tools/lib/api/fs/Build index 6de5a4f0b501..fa726f679b29 100644 --- a/tools/lib/api/fs/Build +++ b/tools/lib/api/fs/Build @@ -1,4 +1,5 @@  libapi-y += fs.o +libapi-y += tracing_path.o  libapi-y += debugfs.o  libapi-y += findfs.o  libapi-y += tracefs.o diff --git a/tools/lib/api/fs/tracing_path.c b/tools/lib/api/fs/tracing_path.c new file mode 100644 index 000000000000..1fd6e1f99234 --- /dev/null +++ b/tools/lib/api/fs/tracing_path.c @@ -0,0 +1,83 @@ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "debugfs.h" +#include "tracefs.h" + +#include "tracing_path.h" + + +char tracing_path[PATH_MAX + 1]        = "/sys/kernel/debug/tracing"; +char tracing_events_path[PATH_MAX + 1] = "/sys/kernel/debug/tracing/events"; + + +static void __tracing_path_set(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"); +} + +static const char *tracing_path_tracefs_mount(void) +{ +	const char *mnt; + +	mnt = tracefs_mount(NULL); +	if (!mnt) +		return NULL; + +	__tracing_path_set("", mnt); + +	return mnt; +} + +static const char *tracing_path_debugfs_mount(void) +{ +	const char *mnt; + +	mnt = debugfs_mount(NULL); +	if (!mnt) +		return NULL; + +	__tracing_path_set("tracing/", mnt); + +	return mnt; +} + +const char *tracing_path_mount(void) +{ +	const char *mnt; + +	mnt = tracing_path_tracefs_mount(); +	if (mnt) +		return mnt; + +	mnt = tracing_path_debugfs_mount(); + +	return mnt; +} + +void tracing_path_set(const char *mntpt) +{ +	__tracing_path_set("tracing/", mntpt); +} + +char *get_tracing_file(const char *name) +{ +	char *file; + +	if (asprintf(&file, "%s/%s", tracing_path, name) < 0) +		return NULL; + +	return file; +} + +void put_tracing_file(char *file) +{ +	free(file); +} diff --git a/tools/lib/api/fs/tracing_path.h b/tools/lib/api/fs/tracing_path.h new file mode 100644 index 000000000000..b132dc599fe5 --- /dev/null +++ b/tools/lib/api/fs/tracing_path.h @@ -0,0 +1,13 @@ +#ifndef __API_FS_TRACING_PATH_H +#define __API_FS_TRACING_PATH_H + +extern char tracing_path[]; +extern char tracing_events_path[]; + +void tracing_path_set(const char *mountpoint); +const char *tracing_path_mount(void); + +char *get_tracing_file(const char *name); +void put_tracing_file(char *file); + +#endif /* __API_FS_TRACING_PATH_H */ diff --git a/tools/perf/perf.c b/tools/perf/perf.c index 0e99cd1de9dd..f2fc019b3671 100644 --- a/tools/perf/perf.c +++ b/tools/perf/perf.c @@ -15,7 +15,7 @@  #include "util/parse-events.h"  #include "util/parse-options.h"  #include "util/debug.h" -#include <api/fs/debugfs.h> +#include <api/fs/tracing_path.h>  #include <pthread.h>  const char perf_usage_string[] = diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index d826e6f515db..3840176642f8 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -11,7 +11,7 @@  #include "cache.h"  #include "header.h"  #include "debug.h" -#include <api/fs/debugfs.h> +#include <api/fs/tracing_path.h>  #include "parse-events-bison.h"  #define YY_EXTRA_TYPE int  #include "parse-events-flex.h" diff --git a/tools/perf/util/trace-event-info.c b/tools/perf/util/trace-event-info.c index 22245986e59e..d995743cb673 100644 --- a/tools/perf/util/trace-event-info.c +++ b/tools/perf/util/trace-event-info.c @@ -38,7 +38,7 @@  #include "../perf.h"  #include "trace-event.h" -#include <api/fs/debugfs.h> +#include <api/fs/tracing_path.h>  #include "evsel.h"  #include "debug.h" diff --git a/tools/perf/util/trace-event.c b/tools/perf/util/trace-event.c index b90e646c7a91..2f4996ab313d 100644 --- a/tools/perf/util/trace-event.c +++ b/tools/perf/util/trace-event.c @@ -8,6 +8,7 @@  #include <fcntl.h>  #include <linux/kernel.h>  #include <traceevent/event-parse.h> +#include <api/fs/tracing_path.h>  #include "trace-event.h"  #include "machine.h"  #include "util.h" diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c index b959f783f6cd..49a5c6ad55f5 100644 --- a/tools/perf/util/util.c +++ b/tools/perf/util/util.c @@ -34,9 +34,6 @@ 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)  {  	if (!perf_host) @@ -390,73 +387,6 @@ void set_term_quiet_input(struct termios *old)  	tcsetattr(0, TCSANOW, &tc);  } -static void __tracing_path_set(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"); -} - -static const char *tracing_path_tracefs_mount(void) -{ -	const char *mnt; - -	mnt = tracefs_mount(NULL); -	if (!mnt) -		return NULL; - -	__tracing_path_set("", mnt); - -	return mnt; -} - -static const char *tracing_path_debugfs_mount(void) -{ -	const char *mnt; - -	mnt = debugfs_mount(NULL); -	if (!mnt) -		return NULL; - -	__tracing_path_set("tracing/", mnt); - -	return mnt; -} - -const char *tracing_path_mount(void) -{ -	const char *mnt; - -	mnt = tracing_path_tracefs_mount(); -	if (mnt) -		return mnt; - -	mnt = tracing_path_debugfs_mount(); - -	return mnt; -} - -void tracing_path_set(const char *mntpt) -{ -	__tracing_path_set("tracing/", mntpt); -} - -char *get_tracing_file(const char *name) -{ -	char *file; - -	if (asprintf(&file, "%s/%s", tracing_path, name) < 0) -		return NULL; - -	return file; -} - -void put_tracing_file(char *file) -{ -	free(file); -} -  int parse_nsec_time(const char *str, u64 *ptime)  {  	u64 time_sec, time_nsec; diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h index bbf8a937d780..495b99ccb588 100644 --- a/tools/perf/util/util.h +++ b/tools/perf/util/util.h @@ -83,12 +83,6 @@  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 tracing_path_set(const char *mountpoint); -const char *tracing_path_mount(void); -char *get_tracing_file(const char *name); -void put_tracing_file(char *file);  /* On most systems <limits.h> would have given us this, but   * not on some systems (e.g. GNU/Hurd). | 
