Em Sun, Jul 26, 2020 at 02:47:53PM +0530, kajoljain escreveu:
> 
> 
> On 7/19/20 11:43 PM, Jiri Olsa wrote:
> > Decouple metric adding logging into add_metric function,
> > so it can be used from other places in following changes.
> > 
> > Acked-by: Ian Rogers <[email protected]>
> > Signed-off-by: Jiri Olsa <[email protected]>
> > ---
> 
> Reviewed-By : Kajol Jain<[email protected]>

Thanks, applied.

- Arnaldo
 
> Thanks,
> Kajol Jain
> >  tools/perf/util/metricgroup.c | 62 ++++++++++++++++++++---------------
> >  1 file changed, 36 insertions(+), 26 deletions(-)
> > 
> > diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c
> > index b37008fc253c..4096be7a7a9e 100644
> > --- a/tools/perf/util/metricgroup.c
> > +++ b/tools/perf/util/metricgroup.c
> > @@ -625,6 +625,39 @@ static int __metricgroup__add_metric(struct list_head 
> > *group_list,
> >                 (match_metric(__pe->metric_group, __metric) ||      \
> >                  match_metric(__pe->metric_name, __metric)))
> >  
> > +static int add_metric(struct list_head *group_list,
> > +                 struct pmu_event *pe,
> > +                 bool metric_no_group)
> > +{
> > +   int ret = 0;
> > +
> > +   pr_debug("metric expr %s for %s\n", pe->metric_expr, pe->metric_name);
> > +
> > +   if (!strstr(pe->metric_expr, "?")) {
> > +           ret = __metricgroup__add_metric(group_list,
> > +                                           pe,
> > +                                           metric_no_group,
> > +                                           1);
> > +   } else {
> > +           int j, count;
> > +
> > +           count = arch_get_runtimeparam();
> > +
> > +           /* This loop is added to create multiple
> > +            * events depend on count value and add
> > +            * those events to group_list.
> > +            */
> > +
> > +           for (j = 0; j < count && !ret; j++) {
> > +                   ret = __metricgroup__add_metric(
> > +                           group_list, pe,
> > +                           metric_no_group, j);
> > +           }
> > +   }
> > +
> > +   return ret;
> > +}
> > +
> >  static int metricgroup__add_metric(const char *metric, bool 
> > metric_no_group,
> >                                struct strbuf *events,
> >                                struct list_head *group_list,
> > @@ -636,34 +669,11 @@ static int metricgroup__add_metric(const char 
> > *metric, bool metric_no_group,
> >     bool has_match = false;
> >  
> >     map_for_each_metric(pe, i, map, metric) {
> > -           pr_debug("metric expr %s for %s\n", pe->metric_expr, 
> > pe->metric_name);
> >             has_match = true;
> >  
> > -           if (!strstr(pe->metric_expr, "?")) {
> > -                   ret = __metricgroup__add_metric(group_list,
> > -                                                   pe,
> > -                                                   metric_no_group,
> > -                                                   1);
> > -                   if (ret)
> > -                           return ret;
> > -           } else {
> > -                   int j, count;
> > -
> > -                   count = arch_get_runtimeparam();
> > -
> > -                   /* This loop is added to create multiple
> > -                    * events depend on count value and add
> > -                    * those events to group_list.
> > -                    */
> > -
> > -                   for (j = 0; j < count; j++) {
> > -                           ret = __metricgroup__add_metric(
> > -                                   group_list, pe,
> > -                                   metric_no_group, j);
> > -                           if (ret)
> > -                                   return ret;
> > -                   }
> > -           }
> > +           ret = add_metric(group_list, pe, metric_no_group);
> > +           if (ret)
> > +                   return ret;
> >     }
> >  
> >     /* End of pmu events. */
> > 

-- 

- Arnaldo

Reply via email to