Hello,
I am experiencing issues with DPDK (21.11) mlx5 PMD driver when allocating hugepages on NUMA node 1.
Card info:Ethernet controller: Mellanox Technologies MT2894 Family [ConnectX-6 Lx]Subsystem: Mellanox Technologies Device 0020NUMA node: 1Driver: mlx5_coreVersion: 5.7-1.0.2Firmware-version: 26.36.1010 (DEL0000000031)
The card is clearly linked to NUMA node 1, so I assigned some hugepages only to the NUMA node 1.cat /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages0cat /sys/devices/system/node/node1/hugepages/hugepages-1048576kB/nr_hugepages4
However, when I run my DPDK application, it presents with the following output and fails:EAL: Detected CPU lcores: 24EAL: Detected NUMA nodes: 2EAL: Detected shared linkage of DPDKEAL: Multi-process socket /var/run/dpdk/0000:98:00.0/mp_socketEAL: Selected IOVA mode 'PA'EAL: No free 1048576 kB hugepages reported on node 0EAL: No free 2048 kB hugepages reported on node 0EAL: No free 2048 kB hugepages reported on node 1EAL: No available 2048 kB hugepages reportedEAL: Probe PCI driver: mlx5_pci (15b3:101f) device: 0000:98:00.0 (socket 1)mlx5_net: Failed to create ASO bits mem for MR.EAL: Error: Invalid memorymlx5_net: probe of PCI device 0000:98:00.0 aborted after encountering an error: Operation not permittedmlx5_common: Failed to load driver mlx5_ethEAL: Requested device 0000:98:00.0 cannot be usedEAL: Bus (pci) probe failed.
If I allocate hugepages only for NUMA node 0, it fails with:mlx5_common: Failed to initialize global MR share cache.
So the only working solution for me currently is to have hugepages allocated for both NUMA nodes, which is weird, considering that e.g., i40e PMD works completely fine with having hugepages only on a single NUMA node.
Is there a way to force the mlx5 PMD to allocate everything on a single specific NUMA node?
Any advice is appreciatedTomas