On Fri, Jul 24, 2015 at 09:48:29AM -0400, [email protected] wrote:

SNIP

> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> index ed9dc25..7f628d9 100644
> --- a/tools/perf/util/session.c
> +++ b/tools/perf/util/session.c
> @@ -851,8 +851,14 @@ static void perf_evlist__print_tstamp(struct perf_evlist 
> *evlist,
>               printf("%" PRIu64 " ", sample->time);
>  }
>  
> -static void sample_read__printf(struct perf_sample *sample, u64 read_format)
> +static void sample_read__printf(struct perf_evlist *evlist,
> +                             struct perf_sample *sample,
> +                             u64 read_format)
>  {
> +     struct perf_evsel *evsel;
> +     struct perf_sample_id *sid;
> +     u64 data[FREQ_PERF_MAX] = { 0 };
> +
>       printf("... sample_read:\n");
>  
>       if (read_format & PERF_FORMAT_TOTAL_TIME_ENABLED)
> @@ -875,10 +881,26 @@ static void sample_read__printf(struct perf_sample 
> *sample, u64 read_format)
>                       printf("..... id %016" PRIx64
>                              ", value %016" PRIx64 "\n",
>                              value->id, value->value);
> +
> +                     sid = perf_evlist__id2sid(evlist, value->id);
> +                     evsel = sid->evsel;
> +                     if (evsel != NULL)
> +                             SET_FREQ_PERF_VALUE(evsel, data,
> +                                                 value->value);
>               }
>       } else
>               printf("..... id %016" PRIx64 ", value %016" PRIx64 "\n",
>                       sample->read.one.id, sample->read.one.value);
> +
> +     if (HAS_FREQ(data))
> +             printf("..... Freq %lu MHz\n",
> +                    (data[FREQ_PERF_CYCLES] * cpu_max_freq) / 
> data[FREQ_PERF_REF_CYCLES]);

I dont like having those numbers (cpu_max_freq, msr_pmu_type) pushed
into global variables that would be used

I think you should somehow push those session's values 
through the whole dump_sample code

maybe make them both part of session::perf_session_env and push
this pointer along the dump_sample call stack

jirka
--
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