Subject: Re: libkern's rb tree
To: Joerg Sonnenberger <joerg@britannica.bec.de>
From: Jason Thorpe <thorpej@shagadelic.org>
List: tech-kern
Date: 10/24/2007 12:04:18
On Oct 24, 2007, at 1:37 AM, Joerg Sonnenberger wrote:

> As soon as the rb tree entry is not the first field in a structure,
> it is a bother.

Been there in proplib -- wasn't that big of a deal.

> Is MIPS a platform where NULL pointer comparisions are more  
> expensive then
> testing a bit field in a pointer? Otherwise I am quite sure that  
> this is an
> argument that doesn't hold.

You're completely missing the point and/or haven't read the comments  
in the code.  The sentinel node saves having to even test for NULL in  
a few places (since every linkage pointer will point to valid memory  
-- either a real node or the sentinel) .. this saves cycles during  
insertion and removal.

It's the position of rb_sentinel that really benefits MIPS (when your  
lookup is written in asm).

-- thorpej