Messages in this thread | | | Date | Wed, 23 Dec 2015 18:43:35 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH 02/13] perf hist: Save raw_data/size for tracepoint events |
| |
Em Wed, Dec 23, 2015 at 02:06:59AM +0900, Namhyung Kim escreveu: > The raw_data and raw_size fields are to provide tracepoint specific > information. They will be used by dynamic sort keys later. > > Signed-off-by: Namhyung Kim <namhyung@kernel.org> > --- > tools/perf/util/hist.c | 4 ++++ > tools/perf/util/sort.h | 2 ++ > 2 files changed, 6 insertions(+) > > diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c > index 039bb91d0a92..c0c92a3daa69 100644 > --- a/tools/perf/util/hist.c > +++ b/tools/perf/util/hist.c > @@ -487,6 +487,8 @@ struct hist_entry *__hists__add_entry(struct hists *hists, > .branch_info = bi, > .mem_info = mi, > .transaction = sample->transaction, > + .raw_data = sample->raw_data, > + .raw_size = sample->raw_size,
So, sample->raw_data is just a pointer to perf_event_sample->array, that may be overwritten, no?
Looking at the other patches.
- Arnaldo
> }; > > return hists__findnew_entry(hists, &entry, al, sample_self); > @@ -801,6 +803,8 @@ iter_add_next_cumulative_entry(struct hist_entry_iter *iter, > .sym = al->sym, > }, > .parent = iter->parent, > + .raw_data = sample->raw_data, > + .raw_size = sample->raw_size, > }; > int i; > struct callchain_cursor cursor; > diff --git a/tools/perf/util/sort.h b/tools/perf/util/sort.h > index 86f05e7a5566..d29898708dbd 100644 > --- a/tools/perf/util/sort.h > +++ b/tools/perf/util/sort.h > @@ -122,6 +122,8 @@ struct hist_entry { > struct branch_info *branch_info; > struct hists *hists; > struct mem_info *mem_info; > + void *raw_data; > + u32 raw_size; > struct callchain_root callchain[0]; /* must be last member */ > }; > > -- > 2.6.4
| |