> 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.