> > > > > yes, this is an option. But for safety, I sugguest do not rely on list_del_init. > > No rule rather than create one. > > > > But anyway, both are ok for me. What's your options? > > hum, also I dont think we need to touch that bit at all > if we are going to remove it right away.. how about the > change below? > > jirka > > > --- > diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c > index 5d632dca672a..0ee7db43dd7d 100644 > --- a/tools/perf/ui/hist.c > +++ b/tools/perf/ui/hist.c > @@ -613,15 +613,15 @@ void perf_hpp__reset_output_field(struct perf_hpp_list *list) > > /* reset output fields */ > perf_hpp_list__for_each_format_safe(list, fmt, tmp) { > - list_del_init(&fmt->list); > - list_del_init(&fmt->sort_list); > + list_del(&fmt->list); > + /* Remove the fmt from next loop processing. */ > + list_del(&fmt->sort_list); > fmt_free(fmt); What if the fmt is not linked to sort_list? I see it is possible (please checking perf_hpp__setup_output_field()). I am not sure if we really has sunch case currently, just concern :) > } > > /* reset sort keys */ > perf_hpp_list__for_each_sort_list_safe(list, fmt, tmp) { > - list_del_init(&fmt->list); > - list_del_init(&fmt->sort_list); > + list_del(&fmt->sort_list); > fmt_free(fmt); > } > } -- Thanks, Changbin Du