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:	Thu, 30 Jun 2016 16:56:56 -0300
From:	Arnaldo Carvalho de Melo <acme@...nel.org>
To:	Jiri Olsa <jolsa@...hat.com>
Cc:	Namhyung Kim <namhyung@...nel.org>,
	David Ahern <dsahern@...il.com>,
	Arnaldo Carvalho de Melo <arnaldo.melo@...il.com>,
	lkml <linux-kernel@...r.kernel.org>
Subject: Re: [BUG] perf test 29 crashing

Em Thu, Jun 30, 2016 at 06:18:16PM +0200, Jiri Olsa escreveu:
> On Thu, Jun 30, 2016 at 05:10:16PM +0200, Jiri Olsa wrote:
> 
> SNIP
> 
> > 
> > hate to be the only one with this.. now I need to dive in ;-)
> 
> it was the setup in my .perfconfig:
> 
> [call-graph]
> threshold=10
> 
> caused some of the callchains to disappear and screw the test,
> I think we should make that test using default values, like in
> attached patch
> 
> however maybe we should think about disabling ~/.perfconfig
> overload for perf test at all
> 
> I'll post patch below with my other stuff if there are no
> objection or another solution

Yeah, tests expect things in a certain way, so shouldn't be affect by
local .perfconfig stuff, ignoring it in tests is the way to go.

But probably we should instead check if the subcommand is 'test' when
calling into perf_config(), no? I.e. Other tests may suffer from this
issue.

- Arnaldo
 
> thanks,
> jirka
> 
> ---
> diff --git a/tools/perf/tests/hists_cumulate.c b/tools/perf/tests/hists_cumulate.c
> index a9e3db3afac4..1208284a7338 100644
> --- a/tools/perf/tests/hists_cumulate.c
> +++ b/tools/perf/tests/hists_cumulate.c
> @@ -666,6 +666,8 @@ static int test4(struct perf_evsel *evsel, struct machine *machine)
>  	perf_evsel__set_sample_bit(evsel, CALLCHAIN);
>  
>  	setup_sorting(NULL);
> +
> +	callchain_param = callchain_param_default;
>  	callchain_register_param(&callchain_param);
>  
>  	err = add_hist_entries(hists, machine);
> diff --git a/tools/perf/util/callchain.h b/tools/perf/util/callchain.h
> index a70f6b54eb92..13e75549c440 100644
> --- a/tools/perf/util/callchain.h
> +++ b/tools/perf/util/callchain.h
> @@ -106,6 +106,7 @@ struct callchain_param {
>  };
>  
>  extern struct callchain_param callchain_param;
> +extern struct callchain_param callchain_param_default;
>  
>  struct callchain_list {
>  	u64			ip;
> diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
> index e08b9a092a23..5f44a21955cd 100644
> --- a/tools/perf/util/util.c
> +++ b/tools/perf/util/util.c
> @@ -19,12 +19,19 @@
>  #include "callchain.h"
>  #include "strlist.h"
>  
> -struct callchain_param	callchain_param = {
> -	.mode	= CHAIN_GRAPH_ABS,
> -	.min_percent = 0.5,
> -	.order  = ORDER_CALLEE,
> -	.key	= CCKEY_FUNCTION,
> -	.value	= CCVAL_PERCENT,
> +#define CALLCHAIN_PARAM_DEFAULT			\
> +	.mode		= CHAIN_GRAPH_ABS,	\
> +	.min_percent	= 0.5,			\
> +	.order		= ORDER_CALLEE,		\
> +	.key		= CCKEY_FUNCTION,	\
> +	.value		= CCVAL_PERCENT,	\
> +
> +struct callchain_param callchain_param = {
> +	CALLCHAIN_PARAM_DEFAULT
> +};
> +
> +struct callchain_param callchain_param_default = {
> +	CALLCHAIN_PARAM_DEFAULT
>  };
>  
>  /*

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ