lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 22 Feb 2021 22:32:40 +0100
From:   Jiri Olsa <jolsa@...hat.com>
To:     Jin Yao <yao.jin@...ux.intel.com>
Cc:     acme@...nel.org, jolsa@...nel.org, peterz@...radead.org,
        mingo@...hat.com, alexander.shishkin@...ux.intel.com,
        Linux-kernel@...r.kernel.org, ak@...ux.intel.com,
        kan.liang@...el.com, yao.jin@...el.com
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@...ux.intel.com>

Acked-by: Jiri Olsa <jolsa@...hat.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
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ