Re: [PATCH] mm/hugetlb: Perform vmemmap optimization batchly for specific node allocation

From: Muchun Song
Date: Sat Oct 12 2024 - 03:26:51 EST




> On Oct 12, 2024, at 15:08, suhua <suhua.tanke@xxxxxxxxx> wrote:
>
> When HVO is enabled and huge page memory allocs are made, the freed memory
> can be aggregated into higher order memory in the following paths, which
> facilitates further allocs for higher order memory.
>
> echo 200000 > /proc/sys/vm/nr_hugepages
> echo 200000 > /sys/devices/system/node/node*/hugepages/hugepages-2048kB/nr_hugepages
> grub: default_hugepagesz=2M hugepagesz=2M hugepages=200000
>
> Currently not support for releasing aggregations to higher order in the
> following way, which will releasing to lower order.
>
> grub: default_hugepagesz=2M hugepagesz=2M hugepages=0:100000,1:100000
>
> This patch supports the release of huge page optimizations aggregates to
> higher order memory.
>
> eg:
> cat /proc/cmdline
> BOOT_IMAGE=/boot/vmlinuz-xxx ... default_hugepagesz=2M hugepagesz=2M hugepages=0:100000,1:100000
>
> Before:
> Free pages count per migrate type at order 0 1 2 3 4 5 6 7 8 9 10
> ...
> Node 0, zone Normal, type Unmovable 55282 97039 99307 0 1 1 0 1 1 1 0
> Node 0, zone Normal, type Movable 25 11 345 87 48 21 2 20 9 3 75061
> Node 0, zone Normal, type Reclaimable 4 2 2 4 3 0 2 1 1 1 0
> Node 0, zone Normal, type HighAtomic 0 0 0 0 0 0 0 0 0 0 0
> ...
> Free pages count per migrate type at order 0 1 2 3 4 5 6 7 8 9 10
> Node 1, zone Normal, type Unmovable 98888 99650 99679 2 3 1 2 2 2 0 0
> Node 1, zone Normal, type Movable 1 1 0 1 1 0 1 0 1 1 75937
> Node 1, zone Normal, type Reclaimable 0 0 0 0 0 0 0 0 0 0 0
> Node 1, zone Normal, type HighAtomic 0 0 0 0 0 0 0 0 0 0 0
>
> After:
> Free pages count per migrate type at order 0 1 2 3 4 5 6 7 8 9 10
> ...
> Node 0, zone Normal, type Unmovable 152 158 37 2 2 0 3 4 2 6 717
> Node 0, zone Normal, type Movable 1 37 53 3 55 49 16 6 2 1 75000
> Node 0, zone Normal, type Reclaimable 1 4 3 1 2 1 1 1 1 1 0
> Node 0, zone Normal, type HighAtomic 0 0 0 0 0 0 0 0 0 0 0
> ...
> Free pages count per migrate type at order 0 1 2 3 4 5 6 7 8 9 10
> Node 1, zone Normal, type Unmovable 5 3 2 1 3 4 2 2 2 0 779
> Node 1, zone Normal, type Movable 1 0 1 1 1 0 1 0 1 1 75849
> Node 1, zone Normal, type Reclaimable 0 0 0 0 0 0 0 0 0 0 0
> Node 1, zone Normal, type HighAtomic 0 0 0 0 0 0 0 0 0 0 0
>
> Signed-off-by: suhua <suhua1@xxxxxxxxxxxx>

Reviewed-by: Muchun Song <muchun.song@xxxxxxxxx>

Thanks.