Messages in this thread |  | | Date | Thu, 9 Apr 2015 18:59:17 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH v4 6/9] rbtree: Implement generic latch_tree |
| |
On Thu, Apr 09, 2015 at 09:31:16AM -0700, Linus Torvalds wrote: > On Thu, Apr 9, 2015 at 5:13 AM, Peter Zijlstra <peterz@infradead.org> wrote: > > > > struct latch_tree_node { > > + struct rb_node node[2]; > > }; > > > > +static __always_inline struct latch_tree_node * > > +__lt_from_rb(struct rb_node *node, int idx) > > +{ > > + return container_of(node, struct latch_tree_node, node[idx]); > > +} > > Ugh. That syntax of offset_of() worries me a bit, but some grepping > shows that we already use this form of offset_of() in parts of the > kernel, so I guess it's fine.
I was a little surprised myself it worked, but its a constant after all so it 'should'.
> Even with that small "Ugh", I do have to admit to preferring this to > having the back-pointer.
Yeah me too, I'll respin the patches proper after I've given it some actual runtime too.
|  |