Re: [RFC PATCH 0/1] Buddy allocator like folio split

From: David Hildenbrand
Date: Fri Oct 18 2024 - 14:42:38 EST


On 09.10.24 00:37, Zi Yan wrote:
Hi all,

Hi!


Matthew and I have discussed about a different way of splitting large
folios. Instead of split one folio uniformly into the same order smaller
ones, doing buddy allocator like split can reduce the total number of
resulting folios, the amount of memory needed for multi-index xarray
split, and keep more large folios after a split. In addition, both
Hugh[1] and Ryan[2] had similar suggestions before.

The patch is an initial implementation. It passes simple order-9 to
lower order split tests for anonymous folios and pagecache folios.
There are still a lot of TODOs to make it upstream. But I would like to gather
feedbacks before that.

Interesting, but I don't see any actual users besides the debug/test interface wired up.

I assume ftruncate() / fallocate(PUNCH_HOLE) might be good use cases? For example, when punching 1M of a 2M folio, we can just leave a 1M folio in the pagecache.

Any other obvious users you have in mind?

--
Cheers,

David / dhildenb