On Thu, Sep 26, 2013 at 05:58:10PM +0900, Namhyung Kim wrote: > From: Namhyung Kim <namhyung....@lge.com> > > At insert time, a hist entry should reference comm at the time > otherwise it'll get the last comm anyway. > > Signed-off-by: Namhyung Kim <namhy...@kernel.org> > Cc: Frederic Weisbecker <fweis...@gmail.com> > Link: http://lkml.kernel.org/n/tip-n6pykiiymtgmcjs834go2...@git.kernel.org > [ Fixed up const pointer issues ] > Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com> > --- > tools/perf/util/comm.c | 15 +++++++++++++++ > tools/perf/util/comm.h | 1 + > tools/perf/util/hist.c | 3 +++ > tools/perf/util/sort.c | 14 +++++--------- > tools/perf/util/sort.h | 1 + > tools/perf/util/thread.c | 6 +++--- > tools/perf/util/thread.h | 2 ++ > 7 files changed, 30 insertions(+), 12 deletions(-) > > diff --git a/tools/perf/util/comm.c b/tools/perf/util/comm.c > index 0cfb55202537..ecd3c9938d3e 100644 > --- a/tools/perf/util/comm.c > +++ b/tools/perf/util/comm.c > @@ -94,6 +94,21 @@ struct comm *comm__new(const char *str, u64 timestamp) > return comm; > } > > +void comm__override(struct comm *comm, const char *str, u64 timestamp) > +{ > + struct comm_str *old = comm->comm_str; > + > + comm->comm_str = comm_str_findnew(str, &comm_str_root); > + if (!comm->comm_str) { > + comm->comm_str = old; > + return; > + } > + > + comm->start = timestamp; > + comm_str_get(comm->comm_str); > + comm_str_put(old); > +} > + > void comm__free(struct comm *comm) > { > comm_str_put(comm->comm_str); > diff --git a/tools/perf/util/comm.h b/tools/perf/util/comm.h > index f62d215bede2..b2c364b37468 100644 > --- a/tools/perf/util/comm.h > +++ b/tools/perf/util/comm.h > @@ -16,5 +16,6 @@ struct comm { > void comm__free(struct comm *comm); > struct comm *comm__new(const char *str, u64 timestamp); > const char *comm__str(const struct comm *comm); > +void comm__override(struct comm *self, const char *str, u64 timestamp); > > #endif /* __PERF_COMM_H */ > diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c > index a2d58e7abdcf..1aa97b012a09 100644 > --- a/tools/perf/util/hist.c > +++ b/tools/perf/util/hist.c > @@ -412,6 +412,7 @@ struct hist_entry *__hists__add_mem_entry(struct hists > *self, > { > struct hist_entry entry = { > .thread = al->thread, > + .comm = curr_comm(al->thread),
So now that we have an accessor for that, it clashes a bit with existing names. I suggest we rename thread__comm_curr() -> thread__comm_str() And rename curr_comm() -> thread__comm() Hmm? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/