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>
This commit is contained in:
parent
5ed08dae9d
commit
2cc990ba3a
@ -125,3 +125,12 @@ int debugfs__strerror_open(int err, char *buf, size_t size, const char *filename
|
|||||||
|
|
||||||
return 0;
|
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);
|
||||||
|
}
|
||||||
|
@ -27,5 +27,6 @@ char *debugfs_mount(const char *mountpoint);
|
|||||||
extern char debugfs_mountpoint[];
|
extern char debugfs_mountpoint[];
|
||||||
|
|
||||||
int debugfs__strerror_open(int err, char *buf, size_t size, const char *filename);
|
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__ */
|
#endif /* __API_DEBUGFS_H__ */
|
||||||
|
@ -2071,9 +2071,9 @@ static int trace__run(struct trace *trace, int argc, const char **argv)
|
|||||||
goto out_error_mem;
|
goto out_error_mem;
|
||||||
|
|
||||||
if (trace->sched &&
|
if (trace->sched &&
|
||||||
perf_evlist__add_newtp(evlist, "sched", "sched_stat_runtime",
|
perf_evlist__add_newtp(evlist, "sched", "sched_stat_runtime",
|
||||||
trace__sched_stat_runtime))
|
trace__sched_stat_runtime))
|
||||||
goto out_error_tp;
|
goto out_error_sched_stat_runtime;
|
||||||
|
|
||||||
err = perf_evlist__create_maps(evlist, &trace->opts.target);
|
err = perf_evlist__create_maps(evlist, &trace->opts.target);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
@ -2203,9 +2203,12 @@ out:
|
|||||||
{
|
{
|
||||||
char errbuf[BUFSIZ];
|
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:
|
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;
|
goto out_error;
|
||||||
|
|
||||||
out_error_mmap:
|
out_error_mmap:
|
||||||
|
Loading…
Reference in New Issue
Block a user