Messages in this thread | | | Date | Sat, 24 Mar 2012 10:00:06 -0600 | From | David Ahern <> | Subject | Re: [PATCH] perf, tool: Fix the array pointer to follow event data properly |
| |
Stephane submitted a similar patch a week ago: https://lkml.org/lkml/2012/3/17/91
David
On 3/24/12 8:19 AM, Jiri Olsa wrote: > Currently we dont update the 'array' pointer properly after > processing the RAW data. This way perf might report wrong data > for branch stack if it is used along with tracepoint sample. > > I'm not sure tracepoint could be connected with branch stack, > but I think the array pointer should have correct value after > each sample processing. > > Signed-off-by: Jiri Olsa<jolsa@redhat.com> > --- > tools/perf/util/evsel.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c > index d9da62a..56a96896 100644 > --- a/tools/perf/util/evsel.c > +++ b/tools/perf/util/evsel.c > @@ -580,6 +580,7 @@ int perf_event__parse_sample(const union perf_event *event, u64 type, > return -EFAULT; > > data->raw_data = (void *) pdata; > + array = (u64 *)(((char *)array) + data->raw_size + sizeof(u32)); > } > > if (type& PERF_SAMPLE_BRANCH_STACK) {
| |