Re: [RFC PATCH 03/26] mm: make pageblock_order 2M per default

David Hildenbrand
2023-04-19T11:10:38Z

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