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
					
				
			
		
					 3 changed files with 18 additions and 5 deletions
				
			
		|  | @ -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); | ||||
| } | ||||
|  |  | |||
|  | @ -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__ */ | ||||
|  |  | |||
|  | @ -2073,7 +2073,7 @@ static int trace__run(struct trace *trace, int argc, const char **argv) | |||
| 	if (trace->sched && | ||||
| 	    perf_evlist__add_newtp(evlist, "sched", "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); | ||||
| 	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: | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Arnaldo Carvalho de Melo
				Arnaldo Carvalho de Melo