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, 28 Sep 2015 11:12:16 -0300
From:	Arnaldo Carvalho de Melo <acme@...nel.org>
To:	Adrian Hunter <adrian.hunter@...el.com>
Cc:	Jiri Olsa <jolsa@...hat.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 01/25] perf auxtrace: Fix 'instructions' period of zero

Em Fri, Sep 25, 2015 at 04:15:32PM +0300, Adrian Hunter escreveu:
> Instruction tracing options (i.e. --itrace) include an option for
> sampling instructions at an arbitrary period. e.g.
> 
> 	--itrace=i10us
> 
> means make an 'instructions' sample for every 10us of trace.
> 
> Currently the logic does not distinguish between a period of
> zero and no period being specified at all, so it gets treated
> as the default period which is 100000.  That doesn't really
> make sense.
> 
> Fix it so that zero period is accepted and treated as meaning
> "as often as possible".

Don't we have to update the documentation for this?
 
> In the case of Intel PT that is the same as a period of 1 and
> a unit of 'instructions' (i.e. --itrace=i1i).
> 
> Signed-off-by: Adrian Hunter <adrian.hunter@...el.com>
> ---
>  tools/perf/util/auxtrace.c | 4 +++-
>  tools/perf/util/intel-pt.c | 2 +-
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c
> index a980e7c50ee0..c4993b2e6c50 100644
> --- a/tools/perf/util/auxtrace.c
> +++ b/tools/perf/util/auxtrace.c
> @@ -950,6 +950,7 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str,
>  	const char *p;
>  	char *endptr;
>  	bool period_type_set = false;
> +	bool period_set = false;
>  
>  	synth_opts->set = true;
>  
> @@ -971,6 +972,7 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str,
>  				p += 1;
>  			if (isdigit(*p)) {
>  				synth_opts->period = strtoull(p, &endptr, 10);
> +				period_set = true;
>  				p = endptr;
>  				while (*p == ' ' || *p == ',')
>  					p += 1;
> @@ -1053,7 +1055,7 @@ out:
>  		if (!period_type_set)
>  			synth_opts->period_type =
>  					PERF_ITRACE_DEFAULT_PERIOD_TYPE;
> -		if (!synth_opts->period)
> +		if (!period_set)
>  			synth_opts->period = PERF_ITRACE_DEFAULT_PERIOD;
>  	}
>  
> diff --git a/tools/perf/util/intel-pt.c b/tools/perf/util/intel-pt.c
> index 38942e1eac8f..c8bb5ca6a157 100644
> --- a/tools/perf/util/intel-pt.c
> +++ b/tools/perf/util/intel-pt.c
> @@ -720,7 +720,7 @@ static struct intel_pt_queue *intel_pt_alloc_queue(struct intel_pt *pt,
>  
>  		if (!params.period) {
>  			params.period_type = INTEL_PT_PERIOD_INSTRUCTIONS;
> -			params.period = 1000;
> +			params.period = 1;
>  		}
>  	}
>  
> -- 
> 1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ