perf script: Add support for PERF_TYPE_RAW
Commit-ID: 0817a6a3a4fc7c069111083351ca33a78da2a0c9 Gitweb: http://git.kernel.org/tip/0817a6a3a4fc7c069111083351ca33a78da2a0c9 Author: Arun Sharma <[email protected]> AuthorDate: Thu, 14 Apr 2011 10:38:18 -0700 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Tue, 19 Apr 2011 11:08:58 -0300
perf script: Add support for PERF_TYPE_RAW
Useful for getting stack traces for hardware events not handled by PERF_TYPE_HARDWARE.
Cc Frederic Weisbecker <[email protected]>
Cc Ingo Molnar <[email protected]>
Cc Mike Galbraith <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Stephane Eranian <[email protected]>
Cc Thomas Gleixner <[email protected]>
Cc Tom Zanussi <[email protected]>
Signed-off-by Arun Sharma <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/builtin-script.c | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)
tools/perf/builtin-script.c +13 -1
@@ -82,6 +82,16 @@ static struct {PERF_OUTPUT_CPU |PERF_OUTPUT_TIME | PERF_OUTPUT_EVNAME | PERF_OUTPUT_TRACE, }, + + [PERF_TYPE_RAW] = { + .user_set = false, + + .fields =PERF_OUTPUT_COMM |PERF_OUTPUT_TID | +PERF_OUTPUT_CPU |PERF_OUTPUT_TIME | + PERF_OUTPUT_EVNAME | PERF_OUTPUT_SYM, + + .invalid_fields = PERF_OUTPUT_TRACE, + }, };static bool output_set_by_user (void )
@@ -502,6 +512,8 @@ static int parse_output_fields(const struct option *opt __used, type =PERF_TYPE_SOFTWARE ; else if (!strcmp(str, "trace")) type =PERF_TYPE_TRACEPOINT ; + else if (!strcmp(str, "raw")) + type =PERF_TYPE_RAW ; else {fprintf (stderr,"Invalid event type in field string.\n" );return -EINVAL ;
@@ -902,7 +914,7 @@ static const struct option options[] = {OPT_STRING (0 ,"symfs" , &symbol_conf.symfs,"directory" ,"Look for files with symbols relative to this directory" ),OPT_CALLBACK ('f' ,"fields" ,NULL ,"str" , -"comma separated output fields prepend with 'type:'. Valid types: hw,sw,trace. Fields: comm,tid,pid,time,cpu,event,trace,sym" , +"comma separated output fields prepend with 'type:'. Valid types: hw,sw,trace,raw. Fields: comm,tid,pid,time,cpu,event,trace,sym" , parse_output_fields),OPT_END ()