Right now, x86_64 seems to be the only arch that accounts for the kernel
image and memmap as holes so I would consider it to be unusual.
s/unusual/more advanced/
For memory
hot-add, new memmaps are allocated using kmalloc() and are not accounted
for as holes.
At least in the standard (non sparsemem) hotadd they are accounted afaik.
So, on x86_64, some memmaps are holes and others are not.
Why is it a performance regression if the image and memmap is accounted
for as holes? How are those regions different from any other kernel
allocation or bootmem allocations for example which are not accounted as
holes?
They are comparatively big and cannot be freed.
If you are sure that it makes a measurable difference to performance,
There was at least one benchmark/use case where it made a significant
difference, can't remember the exact numbers though.
-Andi