Re: [PATCH 04/11] perf hists: Add a couple of hists stat helper functions

From: Namhyung Kim
Date: Thu Apr 24 2014 - 08:58:01 EST


Hi Jiri,

2014-04-24 (ë), 11:40 +0200, Jiri Olsa:
> On Thu, Apr 24, 2014 at 05:23:56PM +0900, Namhyung Kim wrote:
>
> SNIP
>
> > - hists->stats.total_period = 0;
> > - hists->stats.total_non_filtered_period = 0;
> > + hists__reset_stats(hists);
> > hists__reset_col_len(hists);
> >
> > while (next) {
> > @@ -699,13 +716,13 @@ static void hists__remove_entry_filter(struct hists *hists, struct hist_entry *h
> > if (h->filtered)
> > return;
> >
> > - ++hists->nr_non_filtered_entries;
> > if (h->ms.unfolded)
> > hists->nr_non_filtered_entries += h->nr_rows;
> > h->row_offset = 0;
> > - hists->stats.total_non_filtered_period += h->stat.period;
> > +
> > hists->stats.nr_non_filtered_samples += h->stat.nr_events;
> >
> > + hists__inc_filter_stats(hists, h);
> > hists__calc_col_len(hists, h);
> > }
> >
> > @@ -726,9 +743,9 @@ void hists__filter_by_dso(struct hists *hists)
> > {
> > struct rb_node *nd;
> >
> > - hists->nr_non_filtered_entries = 0;
> > - hists->stats.total_non_filtered_period = 0;
> > hists->stats.nr_non_filtered_samples = 0;
> > +
> > + hists__reset_filter_stats(hists);
>
> maybe I'm missing some case, but why is not 'nr_non_filtered_samples'
> reset/increased in hists__reset_filter_stats/hists__inc_filter_stats functions?

Because basically number of sample is counted at input stage, and these
functions are called at output stage. But if a new filter is applied,
we need to re-count the numbers for the filter so it needs to be counted
separately.

Thanks,
Namhyung


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/