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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux