I reserved 24 x 1G hugepages on kernel bootup for some DPDK applications. Once I start TRex I can see that it allocate all remaining hugepages on all NUMA nodes. For eg:
user@host:~$ sudo grep huge /proc/*/numa_maps
<snip>
/proc/17459/numa_maps:7f73c0000000 default file=/mnt/huge/rtemap_19 huge dirty=1 N1=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7400000000 default file=/mnt/huge/rtemap_18 huge dirty=1 N1=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7440000000 default file=/mnt/huge/rtemap_17 huge dirty=1 N1=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7480000000 default file=/mnt/huge/rtemap_16 huge dirty=1 N1=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f74c0000000 default file=/mnt/huge/rtemap_15 huge dirty=1 N1=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7500000000 default file=/mnt/huge/rtemap_14 huge dirty=1 N1=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7540000000 default file=/mnt/huge/rtemap_13 huge dirty=1 N1=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7580000000 default file=/mnt/huge/rtemap_12 huge dirty=1 N1=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f75c0000000 default file=/mnt/huge/rtemap_11 huge dirty=1 N1=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7600000000 default file=/mnt/huge/rtemap_10 huge dirty=1 N1=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7680000000 default file=/mnt/huge/rtemap_9 huge dirty=1 N0=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f76c0000000 default file=/mnt/huge/rtemap_8 huge dirty=1 N0=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7700000000 default file=/mnt/huge/rtemap_7 huge dirty=1 N0=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7740000000 default file=/mnt/huge/rtemap_6 huge dirty=1 N0=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7780000000 default file=/mnt/huge/rtemap_5 huge dirty=1 N0=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f77c0000000 default file=/mnt/huge/rtemap_4 huge dirty=1 N0=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7800000000 default file=/mnt/huge/rtemap_3 huge dirty=1 N0=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7840000000 default file=/mnt/huge/rtemap_2 huge dirty=1 N0=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f7880000000 default file=/mnt/huge/rtemap_1 huge dirty=1 N0=1 kernelpagesize_kB=1048576 <<< TRex
/proc/17459/numa_maps:7f78c0000000 default file=/mnt/huge/rtemap_0 huge dirty=1 N0=1 kernelpagesize_kB=1048576 <<< TRex
In this example TRex tookover 20 x 1G of the hugepages, 4 x 1G left used by other DPDK applications.
Is it possible to limit the amount of hugepages/rtemaps that TRex allocate on startup?
I use v2.28.