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