Messages in this thread | | | Date | Mon, 22 Feb 2021 22:32:40 +0100 | From | Jiri Olsa <> | Subject | Re: [PATCH] perf report: Create option to disable raw event ordering |
| |
On Fri, Feb 19, 2021 at 03:00:05PM +0800, Jin Yao wrote: > Warning "dso not found" is reported when using "perf report -D". > > 66702781413407 0x32c0 [0x30]: PERF_RECORD_SAMPLE(IP, 0x2): 28177/28177: 0x55e493e00563 period: 106578 addr: 0 > ... thread: perf:28177 > ...... dso: <not found> > > 66702727832429 0x9dd8 [0x38]: PERF_RECORD_COMM exec: triad_loop:28177/28177 > > The PERF_RECORD_SAMPLE event (timestamp: 66702781413407) should be after the > PERF_RECORD_COMM event (timestamp: 66702727832429), but it's early processed. > > So for most of cases, it makes sense to keep the event ordered even for dump > mode. But it would be also useful to disable ordered_events for reporting raw > dump to see events as they are stored in the perf.data file. > > So now, set ordered_events by default to true and add a new option > 'disable-order' to disable it. For example, > > perf report -D --disable-order > > Fixes: 977f739b7126b ("perf report: Disable ordered_events for raw dump") > Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
thanks, jirka
> --- > tools/perf/Documentation/perf-report.txt | 3 +++ > tools/perf/builtin-report.c | 5 ++++- > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/tools/perf/Documentation/perf-report.txt b/tools/perf/Documentation/perf-report.txt > index f546b5e9db05..87112e8d904e 100644 > --- a/tools/perf/Documentation/perf-report.txt > +++ b/tools/perf/Documentation/perf-report.txt > @@ -224,6 +224,9 @@ OPTIONS > --dump-raw-trace:: > Dump raw trace in ASCII. > > +--disable-order:: > + Disable raw trace ordering. > + > -g:: > --call-graph=<print_type,threshold[,print_limit],order,sort_key[,branch],value>:: > Display call chains using type, min percent threshold, print limit, > diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c > index 2a845d6cac09..0d65c98794a8 100644 > --- a/tools/perf/builtin-report.c > +++ b/tools/perf/builtin-report.c > @@ -84,6 +84,7 @@ struct report { > bool nonany_branch_mode; > bool group_set; > bool stitch_lbr; > + bool disable_order; > int max_stack; > struct perf_read_values show_threads_values; > struct annotation_options annotation_opts; > @@ -1296,6 +1297,8 @@ int cmd_report(int argc, const char **argv) > OPTS_EVSWITCH(&report.evswitch), > OPT_BOOLEAN(0, "total-cycles", &report.total_cycles_mode, > "Sort all blocks by 'Sampled Cycles%'"), > + OPT_BOOLEAN(0, "disable-order", &report.disable_order, > + "Disable raw trace ordering"), > OPT_END() > }; > struct perf_data data = { > @@ -1329,7 +1332,7 @@ int cmd_report(int argc, const char **argv) > if (report.mmaps_mode) > report.tasks_mode = true; > > - if (dump_trace) > + if (dump_trace && report.disable_order) > report.tool.ordered_events = false; > > if (quiet) > -- > 2.17.1 >
| |