On Fri, Aug 06, 2021 at 01:52:45AM -0700, Michel Lespinasse wrote: > I think moving the color to a separate word would be costly, both in space > (growing the struct rb_node) and in time. Feel free to try it, but I would > expect the rbtree performance tests to regress significantly. > > __rb_parent() could probably be modified - it only needs to mask one bit, > I'm not sure why it masks two. > > As to what would happen on 68k... hard to say, but I expect it should > be fine (if the compiler cared for the structs to be aligned, it > should do it on its own). Still, not sure how to test that either. Somewhere, on the infinite length TODO list, I have an item to implement threaded RB trees, which would need the LSB of the left and right words too. In general, the kernel is overflowing with code that (ab)uses the LSBs of pointers and relies on at least natural alignment. There is absolutely no point in fixing just this one instance.