Em Fri, Jul 17, 2015 at 07:33:46PM +0300, Adrian Hunter escreveu:
> PERF_ITRACE_PERIOD_INSTRUCTIONS is zero so it
> got overwritten by the default period type.
> Fix by checking if the period type was set
> rather than if the value was zero when applying
> the default.

Applied
 
> Signed-off-by: Adrian Hunter <[email protected]>
> ---
>  tools/perf/util/auxtrace.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c
> index 3f3b40fa87c8..4ec3acf6fabb 100644
> --- a/tools/perf/util/auxtrace.c
> +++ b/tools/perf/util/auxtrace.c
> @@ -949,6 +949,7 @@ int itrace_parse_synth_opts(const struct option *opt, 
> const char *str,
>       struct itrace_synth_opts *synth_opts = opt->value;
>       const char *p;
>       char *endptr;
> +     bool period_type_set = false;
>  
>       synth_opts->set = true;
>  
> @@ -977,10 +978,12 @@ int itrace_parse_synth_opts(const struct option *opt, 
> const char *str,
>                               case 'i':
>                                       synth_opts->period_type =
>                                               PERF_ITRACE_PERIOD_INSTRUCTIONS;
> +                                     period_type_set = true;
>                                       break;
>                               case 't':
>                                       synth_opts->period_type =
>                                               PERF_ITRACE_PERIOD_TICKS;
> +                                     period_type_set = true;
>                                       break;
>                               case 'm':
>                                       synth_opts->period *= 1000;
> @@ -993,6 +996,7 @@ int itrace_parse_synth_opts(const struct option *opt, 
> const char *str,
>                                               goto out_err;
>                                       synth_opts->period_type =
>                                               PERF_ITRACE_PERIOD_NANOSECS;
> +                                     period_type_set = true;
>                                       break;
>                               case '\0':
>                                       goto out;
> @@ -1046,7 +1050,7 @@ int itrace_parse_synth_opts(const struct option *opt, 
> const char *str,
>       }
>  out:
>       if (synth_opts->instructions) {
> -             if (!synth_opts->period_type)
> +             if (!period_type_set)
>                       synth_opts->period_type =
>                                       PERF_ITRACE_DEFAULT_PERIOD_TYPE;
>               if (!synth_opts->period)
> -- 
> 1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to