mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-08 07:21:27 +00:00
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 <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Tom Zanussi <tzanussi@gmail.com> Signed-off-by: Arun Sharma <asharma@fb.com> Link: http://lkml.kernel.org/n/tip-qimdcdpekjqxuyqovy4kjusx@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
f18568aae5
commit
0817a6a3a4
1 changed files with 13 additions and 1 deletions
|
@ -82,6 +82,16 @@ static struct {
|
||||||
PERF_OUTPUT_CPU | PERF_OUTPUT_TIME |
|
PERF_OUTPUT_CPU | PERF_OUTPUT_TIME |
|
||||||
PERF_OUTPUT_EVNAME | PERF_OUTPUT_TRACE,
|
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)
|
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;
|
type = PERF_TYPE_SOFTWARE;
|
||||||
else if (!strcmp(str, "trace"))
|
else if (!strcmp(str, "trace"))
|
||||||
type = PERF_TYPE_TRACEPOINT;
|
type = PERF_TYPE_TRACEPOINT;
|
||||||
|
else if (!strcmp(str, "raw"))
|
||||||
|
type = PERF_TYPE_RAW;
|
||||||
else {
|
else {
|
||||||
fprintf(stderr, "Invalid event type in field string.\n");
|
fprintf(stderr, "Invalid event type in field string.\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -902,7 +914,7 @@ static const struct option options[] = {
|
||||||
OPT_STRING(0, "symfs", &symbol_conf.symfs, "directory",
|
OPT_STRING(0, "symfs", &symbol_conf.symfs, "directory",
|
||||||
"Look for files with symbols relative to this directory"),
|
"Look for files with symbols relative to this directory"),
|
||||||
OPT_CALLBACK('f', "fields", NULL, "str",
|
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),
|
parse_output_fields),
|
||||||
|
|
||||||
OPT_END()
|
OPT_END()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue