On Thu, Feb 29, 2024 at 11:34:33AM -0700, Yu Zhao wrote: > ZONE_MOVABLE becomes the first policy zone, followed by two new policy > zones: > 1. ZONE_NOSPLIT, which contains pages that are movable (inherited from > ZONE_MOVABLE) and restricted to a minimum order to be > anti-fragmentation. The latter means that they cannot be split down > below that order, while they are free or in use. > 2. ZONE_NOMERGE, which contains pages that are movable and restricted > to an exact order. The latter means that not only is split > prohibited (inherited from ZONE_NOSPLIT) but also merge (see the > reason in Chapter Three), while they are free or in use. These two zones end up solving a problem for memdescs. So I'm in favour! I added Option 5 to https://kernelnewbies.org/MatthewWilcox/BuddyAllocator I think this patch needs to be split into more digestable chunks, but a quick skim of it didn't reveal anything egregiously wrong. I do still have that question about the number of bits used for Zone in page->flags. Probably this all needs to be dependent on CONFIG_64BIT?