When I change the number of sockets used in the trex_cfg.yaml file, I get a hugepages error (even though there are plenty):
Original:
platform:
master_thread_id: 0
latency_thread_id: 1
dual_if:
- socket: 0 --> there are 4 vCPUs, each on own socket (4 sockets). we choose socket 0 here!
threads: [2,3]
- socket: 0 --> there are 4 vCPUs, each on own socket (4 sockets). we choose socket 0 here!
threads: [4,5]
This config works...Trex comes up.
Changed:
platform:
master_thread_id: 0
latency_thread_id: 1
dual_if:
- socket: 0 --> there are 4 vCPUs, each on own socket (4 sockets). we choose socket 0 here!
threads: [2]
- socket: 1 --> there are 4 vCPUs, each on own socket (4 sockets). we choose socket 1 here!
threads: [3]
- socket: 2 --> there are 4 vCPUs, each on own socket (4 sockets). we choose socket 2 here!
threads: [4]
- socket: 3 --> there are 4 vCPUs, each on own socket (4 sockets). we choose socket 3 here!
threads: [5]
We get an error re: hugepages here and Trex fails.
# ./t-rex-64 -i --astf
The ports are bound/configured.
Starting TRex v2.97 please wait ...
set driver name net_vmxnet3
driver capability : TSO LRO
set dpdk queues mode to ONE_QUE
Number of ports found: 4
zmq publisher at: tcp://*:4500
ERROR there is not enough huge-pages memory in your systemEAL: Error - exiting with code: 1
Cause: Cannot init mbuf pool small-pkt-const
We have plenty of memory, and plenty of HugePages.
# free -m
total used free shared buff/cache available
Mem: 15884 8945 6763 25 175 6665
Swap: 511 0 511
# sysctl -a | grep vm.nr_hugepages
sysctl: reading key "net.ipv6.conf.all.stable_secret"
sysctl: reading key "net.ipv6.conf.default.stable_secret"
sysctl: reading key "net.ipv6.conf.eth0.stable_secret"
sysctl: reading key "net.ipv6.conf.lo.stable_secret"
vm.nr_hugepages = 4096
vm.nr_hugepages_mempolicy = 4096