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

From: David Hildenbrand
Date: Wed Apr 19 2023 - 07:10:38 EST


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