Re: [PATCH v11 2/3] perf config: Reimplement perf_config() introducing new perf_config__init() and perf_config__finish()

From: Arnaldo Carvalho de Melo
Date: Thu Jun 23 2016 - 10:30:38 EST


Em Thu, Jun 23, 2016 at 11:15:49PM +0900, Taeung Song escreveu:
>
>
> On 06/23/2016 10:38 PM, Arnaldo Carvalho de Melo wrote:
> > Em Thu, Jun 23, 2016 at 10:03:39PM +0900, Taeung Song escreveu:
> > > +/**
> > > + * perf_config_sections__for_each - iterate thru all the sections
> > > + * @list: list_head instance to iterate
> > > + * @section: struct perf_config_section iterator
> > > + */
> > > +#define perf_config_sections__for_each(list, section) \
> > > + list_for_each_entry(section, list, node)
> > > +
> >
> > I was almost applying this but then there is a little detail, which is
> > that it is a goal to make the tools/ code look as much as kernel code as
> > possible, to encourage kernel developers to contribute to the tools
> > codebase and also to expose userspace developers to kernel practices.
> >
> > With that said, please rename these for_each macros to for_each_entry,
> > i.e.:
> >
> > perf_config_sections__for_each_entry()
> > perf_config_items__for_each_entry()
> >
> > As for_each and for_each_entry both exist in the kernel and have well
> > know semantics that we want to keep.
> >
> > Probably there are cases in tools/ where we break this rule, I'll check
> > and fix.
> >
>
> Granted ! :)
>
> I sent v12 with above changes a moment ago.

Thanks, I've just converted evlist__for_each* and strlist__for_each to
this format.

- Arnaldo