On Mon, Mar 30, 2020 at 01:45:19PM +0000, Wei Yang wrote: > On Mon, Mar 30, 2020 at 05:50:06AM -0700, Matthew Wilcox wrote: > >On Mon, Mar 30, 2020 at 12:36:40PM +0000, Wei Yang wrote: > >> As the comment mentioned, we reserved several ranges of internal node > >> for tree maintenance, 0-62, 256, 257. This means a node bigger than > >> XA_ZERO_ENTRY is a normal node. > >> > >> The checked on XA_ZERO_ENTRY seems to be more meaningful. > > > >257-1023 are also reserved, they just aren't used yet. XA_ZERO_ENTRY > >is not guaranteed to be the largest reserved entry. > > Then why we choose 4096? Because 4096 is the smallest page size supported by Linux, so we're guaranteed that anything less than 4096 is not a valid pointer.