diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-01-22 17:13:43 +0300 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-01-22 23:02:20 +0300 |
commit | 2cc990ba3af4f9511f0d016c73b8163591f890e7 (patch) | |
tree | e807123fbbda4662c369e63cb35f15dc05ed31d0 | |
parent | 5ed08dae9d2f2307c103e2dce94d801e74aefae4 (diff) | |
download | linux-2cc990ba3af4f9511f0d016c73b8163591f890e7.tar.xz |
tools lib fs debugfs: Introduce debugfs__strerror_open_tp
There will be other cases where not just a tracepoint event is being
opened below the debugfs mountpoint, but it is rather common, so provide
one helper for that.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-q6e6zct49ql6nbcw8kkg0lbj@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/lib/api/fs/debugfs.c | 9 | ||||
-rw-r--r-- | tools/lib/api/fs/debugfs.h | 1 | ||||
-rw-r--r-- | tools/perf/builtin-trace.c | 13 |
3 files changed, 18 insertions, 5 deletions
diff --git a/tools/lib/api/fs/debugfs.c b/tools/lib/api/fs/debugfs.c index 5e8f3913de43..bf9e21648894 100644 --- a/tools/lib/api/fs/debugfs.c +++ b/tools/lib/api/fs/debugfs.c @@ -125,3 +125,12 @@ int debugfs__strerror_open(int err, char *buf, size_t size, const char *filename return 0; } + +int debugfs__strerror_open_tp(int err, char *buf, size_t size, const char *sys, const char *name) +{ + char path[PATH_MAX]; + + snprintf(path, PATH_MAX, "tracing/events/%s/%s", sys, name ?: "*"); + + return debugfs__strerror_open(err, buf, size, path); +} diff --git a/tools/lib/api/fs/debugfs.h b/tools/lib/api/fs/debugfs.h index a1799aecd4d5..0739881a9897 100644 --- a/tools/lib/api/fs/debugfs.h +++ b/tools/lib/api/fs/debugfs.h @@ -27,5 +27,6 @@ char *debugfs_mount(const char *mountpoint); extern char debugfs_mountpoint[]; int debugfs__strerror_open(int err, char *buf, size_t size, const char *filename); +int debugfs__strerror_open_tp(int err, char *buf, size_t size, const char *sys, const char *name); #endif /* __API_DEBUGFS_H__ */ diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c index eaaa540bf1f3..7e935f1083ec 100644 --- a/tools/perf/builtin-trace.c +++ b/tools/perf/builtin-trace.c @@ -2071,9 +2071,9 @@ static int trace__run(struct trace *trace, int argc, const char **argv) goto out_error_mem; if (trace->sched && - perf_evlist__add_newtp(evlist, "sched", "sched_stat_runtime", - trace__sched_stat_runtime)) - goto out_error_tp; + perf_evlist__add_newtp(evlist, "sched", "sched_stat_runtime", + trace__sched_stat_runtime)) + goto out_error_sched_stat_runtime; err = perf_evlist__create_maps(evlist, &trace->opts.target); if (err < 0) { @@ -2203,9 +2203,12 @@ out: { char errbuf[BUFSIZ]; -out_error_tp: +out_error_sched_stat_runtime: + debugfs__strerror_open_tp(errno, errbuf, sizeof(errbuf), "sched", "sched_stat_runtime"); + goto out_error; + out_error_raw_syscalls: - debugfs__strerror_open(errno, errbuf, sizeof(errbuf), "tracing/events/raw_syscalls"); + debugfs__strerror_open_tp(errno, errbuf, sizeof(errbuf), "raw_syscalls", "sys_(enter|exit)"); goto out_error; out_error_mmap: |