Re: [PATCH 1/3] rbtree: Introduce rb_for_each_entry

From: Peter Zijlstra
Date: Wed Jan 13 2010 - 09:18:28 EST


On Wed, 2010-01-13 at 12:13 -0200, Arnaldo Carvalho de Melo wrote:
> Em Wed, Jan 13, 2010 at 02:58:53PM +0100, Peter Zijlstra escreveu:
> > On Wed, 2010-01-13 at 11:52 -0200, Arnaldo Carvalho de Melo wrote:
> > > Em Wed, Jan 13, 2010 at 02:34:45PM +0100, Frederic Weisbecker escreveu:
> > > > At least it matches many patterns in perf :)
> > >
> > > What an insane piece of... software! 8-) Whatever, if it makes Peter
> > > happy we can keep it on tools/perf/util/include/linux/rbtree.h, just
> > > after the:
> > >
> > > #include "../../../../include/linux/rbtree.h"
> > >
> > > ;-)
> > >
> > > Just like we have list_del_range() in tools/perf/util/include/linux/list.h.
> >
> > That's not the point, doing a for_each on the rb-trees as we have today
> > is a O(n log(n)) operation, not something you should want to do often.
> >
> > Adding a helper promotes the idea that its a sane thing to do, its not.
> >
> > If you really need it, open coding it isn't hard, but the lack of helper
> > does make you think and hopefully realize you're doing something funny.
>
> We need it in several places in the perf tools, to present sorted results, to
> dump the maps for debugging purposes, etc.
>
> But I'll go and look at each one of them to see if there is any where it
> is used in some stupid way.

Sure, but again, that's missing the point, adding that helper isn't a
good thing. We have no 64bit division operators in Linux either, for the
very same reason.

--
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/