Hi Jiri, 2014-04-23 (수), 15:35 +0200, Jiri Olsa: > On Wed, Apr 23, 2014 at 04:00:03PM +0900, Namhyung Kim wrote: > > Currently, accounting each sample is done in multiple places - once > > when adding them to the input tree, other when adding them to the > > output tree. It's not only confusing but also can cause a subtle > > problem since concurrent processing like in perf top might see the > > updated stats before adding entries into the output tree - like seeing > > more (blank) lines at the end and/or slight inaccurate percentage. > > > > To fix this, only account the entries when it's moved into the output > > tree so that they cannot be seen prematurely. There're some > > exceptional cases here and there - they should be addressed separately > > with comments. > > sry to be PITA, but need to ask you to split the patch, > otherwise I'd get beaten for that ;-)
No problem. I'll split it in the next spin. > > I can see several separated changes here: > * remove stats for input tree (as stated in changelog) > * hists__inc_nr_entries -> hists__inc_stats rename > * add hists__reset_stats function > * move hists__calc_col_len out of hists__inc_nr_entries > > > > > > Signed-off-by: Namhyung Kim <[email protected]> > > --- > > SNIP > > > > > diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c > > index aed52036468d..4bdcc040b216 100644 > > --- a/tools/perf/builtin-report.c > > +++ b/tools/perf/builtin-report.c > > @@ -85,6 +85,10 @@ static void report__inc_stats(struct report *rep, struct > > hist_entry *he) > > */ > > if (he->stat.nr_events == 1) > > rep->nr_entries++; > > + > > + hists__inc_nr_events(he->hists, PERF_RECORD_SAMPLE); > > + if (!he->filtered) > > + he->hists->stats.nr_non_filtered_samples++; > > could you put here some comments as for the diff command > I mean why is this exception in stats counting for input tree Will do as well. Thanks, Namhyung -- 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/

