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