On Tue, Dec 07, 2021 at 04:34:44PM +0100, Vlastimil Babka wrote: > > +/* > > + * We also reserve values with the bottom two bits set to '10' which are > > + * below 4096 > > + */ > > +static inline bool mt_is_reserved(const void *entry) > > +{ > > + return ((unsigned long)entry < MAPLE_RESERVED_RANGE) && > > + xa_is_internal(entry); > > It's weird to suddenly see xa_ prefix here (and below). AFAICS it's nowhere > declared that maple tree is derived from xarray so while it's not completely > surprising given the overlap of authors, wouldn't it be more robust if maple > tree had its own independent set of these helpers? My intent is to merge the maple tree and xarray at some point. The xarray has some pretty awful worst-case behaviour that the maple tree avoids. The maple tree doesn't yet have the search mark feature, and it needs a new leaf node type for dense nodes. It also needs a replacement for the private_list used to trim the excess nodes which store workingset values. When they get merged, my thinking was that the maple tree nomenclature would be removed in favour of the xarray API, so I haven't been in too much hurry to add aliases for all the parts of the xarray API that are in the maple tree.