Re: [RFC PATCH 0/3] hugetlb: add demote/split page functionality

From: Michal Hocko
Date: Wed Mar 10 2021 - 11:23:59 EST


On Mon 08-03-21 16:18:52, Mike Kravetz wrote:
[...]
> Converting larger to smaller hugetlb pages can be accomplished today by
> first freeing the larger page to the buddy allocator and then allocating
> the smaller pages. However, there are two issues with this approach:
> 1) This process can take quite some time, especially if allocation of
> the smaller pages is not immediate and requires migration/compaction.
> 2) There is no guarantee that the total size of smaller pages allocated
> will match the size of the larger page which was freed. This is
> because the area freed by the larger page could quickly be
> fragmented.

I will likely not surprise to show some level of reservation. While your
concerns about reconfiguration by existing interfaces are quite real is
this really a problem in practice? How often do you need such a
reconfiguration?

Is this all really worth the additional code to something as tricky as
hugetlb code base?

> include/linux/hugetlb.h | 8 ++
> mm/hugetlb.c | 199 +++++++++++++++++++++++++++++++++++++++-
> 2 files changed, 204 insertions(+), 3 deletions(-)
>
> --
> 2.29.2
>

--
Michal Hocko
SUSE Labs