On 08/23/2017 03:02 AM, A?ukasz Daniluk wrote: > + cache_color_size= > + [KNL] Set cache size for purposes of cache coloring > + mechanism in buddy allocator. > + > + cache_color_min_order= > + [KNL] Set minimal order for which page coloring > + mechanism will be enabled in buddy allocator. I guess I should send along the code I've been playing with. I have this broken out into a bunch of helper patches, but I'll just attach the combined patch. This also uses an rbtree, but it puts 'struct page' itself in the rbtree. Further, it reuses the zone->free_area list_heads' storage for the rbtree head. This means no additional space overhead and you can also enable it at runtime without boot options. You can also have it enabled for any order(s) you want. The rbtree(s) you've grafted on will not need to be walked or rebalanced as much as the ones in my version, so that's a plus for your version. The trick with either of these is trying to make sure the cost of all the new branches very low.