On 19.04.23 12:36, Vlastimil Babka wrote:
On 4/18/23 21:12, Johannes Weiner wrote:
pageblock_order can be of various sizes, depending on configuration,
but the default is MAX_ORDER-1. Given 4k pages, that comes out to
4M. This is a large chunk for the allocator/reclaim/compaction to try
to keep grouped per migratetype. It's also unnecessary as the majority
of higher order allocations - THP and slab - are smaller than that.
Well in my experience the kernel usually has hugetlbfs config-enabled so it
uses 2MB pageblocks (on x86) even if hugetlbfs is unused at runtime and THP
is used instead. But sure, we can set a better default that's not tied to
hugetlbfs.
As virtio-mem really wants small pageblocks (hot(un)plug granularity),
I've seen reports from users without HUGETLB configured complaining
about this (on x86, we'd get 4M instead of 2M).
So having a better default (PMD_SIZE) sounds like a good idea to me (and
I even recall suggesting to change the !hugetlb default).
--
Thanks,
David / dhildenb