[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CABPqkBSU=K13LJeGOyka-PrSESm8ecgbCVHybY_9UNCbuJadxw@mail.gmail.com>
Date: Mon, 7 Jan 2013 15:03:49 +0100
From: Stephane Eranian <eranian@...gle.com>
To: Jiri Olsa <jolsa@...hat.com>
Cc: LKML <linux-kernel@...r.kernel.org>,
Peter Zijlstra <peterz@...radead.org>,
"mingo@...e.hu" <mingo@...e.hu>,
"ak@...ux.intel.com" <ak@...ux.intel.com>,
Arnaldo Carvalho de Melo <acme@...hat.com>,
Namhyung Kim <namhyung.kim@....com>
Subject: Re: [PATCH v4 05/18] perf: add minimal support for PERF_SAMPLE_WEIGHT
Andi,
I also think we should drop PERF_FORMAT_WEIGHT. You added it in your patch
but there is no code to actually perform the read. Will remove it from
your patch
in my series. We can always add it later on.
On Mon, Jan 7, 2013 at 2:27 PM, Jiri Olsa <jolsa@...hat.com> wrote:
> On Mon, Jan 07, 2013 at 02:10:20PM +0100, Stephane Eranian wrote:
>> On Wed, Jan 2, 2013 at 3:07 PM, Jiri Olsa <jolsa@...hat.com> wrote:
>> > On Thu, Dec 20, 2012 at 04:41:35PM +0100, Stephane Eranian wrote:
>> >> Ensure we grab the weight from raw sample struct
>> >> and that we can dump it via perf report -D.
>> >>
>> >> Signed-off-by: Stephane Eranian <eranian@...gle.com>
>> >> ---
>> >> tools/perf/util/event.h | 1 +
>> >> tools/perf/util/evsel.c | 5 +++++
>> >> tools/perf/util/session.c | 3 +++
>> >> 3 files changed, 9 insertions(+)
>> >>
>> >> diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h
>> >> index 0d573ff..cf52977 100644
>> >> --- a/tools/perf/util/event.h
>> >> +++ b/tools/perf/util/event.h
>> >> @@ -90,6 +90,7 @@ struct perf_sample {
>> >> u64 period;
>> >> u32 cpu;
>> >> u32 raw_size;
>> >> + u64 weight;
>> >> void *raw_data;
>> >> struct ip_callchain *callchain;
>> >> struct branch_stack *branch_stack;
>> >> diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
>> >> index 1b16dd1..4374c07 100644
>> >> --- a/tools/perf/util/evsel.c
>> >> +++ b/tools/perf/util/evsel.c
>> >> @@ -1058,6 +1058,11 @@ int perf_evsel__parse_sample(struct perf_evsel *evsel, union perf_event *event,
>> >> }
>> >> }
>> >>
>> >> + if (type & PERF_SAMPLE_WEIGHT) {
>> >> + data->weight= *array;
>> >> + array++;
>> >> + }
>> >> +
>> >
>> > this bit should be placed right after PERF_SAMPLE_PERIOD (where
>> > you placed it in kernel path), otherwise you get wrong data
>> >
>>
>> Thought some more about this. I think this new WEIGHT sample type is
>> in the wrong place in Andi's patch.
>> It's new, it should be put at the end of perf_output_sample(). That's
>> necessary to ensure older versions
>> of perf (without the knowledge about WEIGHT) can still decode
>> PERF_SAMPLE_READ in case
>> PERF_SAMPLE_WEIGHT is present in the perf.data file.
>
> agreed
--
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