Messages in this thread | | | Date | Thu, 9 Apr 2015 10:17:07 -0700 | Subject | Re: [PATCH v4 6/9] rbtree: Implement generic latch_tree | From | Linus Torvalds <> |
| |
On Thu, Apr 9, 2015 at 10:12 AM, Linus Torvalds <torvalds@linux-foundation.org> wrote: > > It's just unusual, which I think makes it slightly harder to read for > a *human* just because it breaks the normal pattern of those things. > But there's nothing technically wrong with it.
You could have written it as
static __always_inline struct latch_tree_node * __lt_from_rb(struct rb_node *node, int idx) { return (void *)(node-idx); }
which is actually shorter, but even if that container_of() use looks a bit unusual, I think the container_of() shows more clearly what you actually want. Plus it would be more reliable if you ever end up adding any other fields to the struct latch_tree_node.
So I wouldn't actually suggest using that "(node-idx)" format. I think it should result in the exact same code, though.
Linus
| |