Re: [PATCH RESEND v3 6/9] mm/truncate: use folio_split() for truncate operation.

From: David Hildenbrand
Date: Tue Dec 10 2024 - 15:12:23 EST


On 05.12.24 01:18, Zi Yan wrote:
Instead of splitting the large folio uniformly during truncation, use
buddy allocator like split at the start of truncation range to minimize
the number of resulting folios.

For example, to truncate a order-4 folio
[0, 1, 2, 3, 4, 5, ..., 15]
between [3, 10] (inclusive), folio_split() splits the folio to
[0,1], [2], [3], [4..7], [8..15] and [3], [4..7] can be dropped and
[8..15] is kept with zeros in [8..10].

But isn't that making things worse that they are today? Imagine fallocate() on a shmem file where we won't be freeing memory?

--
Cheers,

David / dhildenb