Re: [PATCH 6/8] rbtree: Implement generic latch_tree

From: Peter Zijlstra
Date: Thu Mar 19 2015 - 18:10:27 EST


On Thu, Mar 19, 2015 at 01:58:33PM -0700, Andrew Morton wrote:
> On Thu, 19 Mar 2015 08:25:02 +0100 Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> > On Wed, Mar 18, 2015 at 10:14:46PM -0700, Andrew Morton wrote:
> > > On Wed, 18 Mar 2015 14:36:32 +0100 Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > >
> > > > include/linux/rbtree_latch.h | 223 +++++++++++++++++++++++++++++++++++++++++++
> > >
> > > Did it really need to all be inlined?
> >
> > Without that you get actual function calls to the less() and comp()
> > operators. This way GCC can inline the lot even though its function
> > pointers.
> >
> > The typical RB tree user open-codes all this every single time.
>
> Is it a good tradeoff?

Is what? Writing it like this or open-coding it all?

For many archs (indirect) function calls are far more expensive than the
typical comparison.
--
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/