> On Oct 2, 2020, at 8:44 AM, Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> wrote: > > This is a complete rewrite of the page allocator. This patch causes me crashes: lib/alloc_page.c:433: assert failed: !(areas_mask & BIT(n)) It appears that two areas are registered on AREA_LOW_NUMBER, as setup_vm() can call (and calls on my system) page_alloc_init_area() twice. setup_vm() uses AREA_ANY_NUMBER as the area number argument but eventually this means, according to the code, that __page_alloc_init_area() would use AREA_LOW_NUMBER. I do not understand the rationale behind these areas well enough to fix it. Thanks, Nadav