1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openeuler-gazelle

 / Детали:

Программа запуска сетевой карты Mellanox выдала предупреждение о максимальном количестве очередей,...

Предстоит сделать
Владелец
Создано  
21.04.2025

равном 0.

mellanox网卡(mellanox网卡不需要dpdk绑定,指定-d)
启动程序报错:
[root@node63 h18160]# GAZELLE_BIND_PROCNAME=hrpc_perf_test_s LD_PRELOAD="/opt/h3c/lib/libasan. so. 6:/usr/lib64/liblstack. so" /hrpc_perf_test_s -t 1 -c 1024 -a 192. 168. 10. 2 -p 9988 -n tcp
dpdk argv: --huge-unlink --log-level debug -l 1 --socket-mem 2048,0,0,0 --huge-dir /mnt/hugepages-lstack --proc-type primary --base-virtaddr 0x200000000000 -d librte_net_mlx5. so
EAL: Detected CPU lcores: 56
EAL: Detected NUMA nodes: 2
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: 53 hugepages of size 1073741824 reserved, but no mounted hugetlbfs found for that size
EAL: Probe PCI driver: mlx5_pci (15b3:101f) device: 0000:5e:00. 0 (socket 0) ---------->Обнаружен ib5e-0
EAL: Failed to allocate intr_handle
mlx5_net: Fail to allocate intr_handle
EAL: Probe PCI driver: mlx5_pci (15b3:101f) device: 0000:5e:00. 1 (socket 0) ---------->Обнаружен ib5e-1
EAL: Failed to allocate intr_handle
mlx5_net: Fail to allocate intr_handle
EAL: Probe PCI driver: mlx5_pci (15b3:101f) device: 0000:86:00. 0 (socket 1) ---------->Обнаружен ib86-0
EAL: Failed to allocate intr_handle
mlx5_net: Fail to allocate intr_handle
EAL: Probe PCI driver: mlx5_pci (15b3:101f) device: 0000:86:00. 1 (socket 1) ---------->Обнаружен ib86-1
EAL: Failed to allocate intr_handle
mlx5_net: Fail to allocate intr_handle
TELEMETRY: No legacy callbacks, legacy socket not created
LSTACK: create_control_thread:246 create control_easy_thread success
LSTACK: gazelle_kernelevent_thread:262 kernelevent_00 start
LSTACK: gazelle_kernelevent_thread:262 kernelevent_01 start
LSTACK: dpdk_ethdev_init:430 port_id 0 max_queues=0 ------------------>Здесь почему-то max_queues равно 0?
LSTACK: init_dpdk_ethdev:594 dpdk_ethdev_init failed
EAL: Error - exiting with code: 1
Cause: gazelle_network_init:327 init_dpdk_ethdev failed
lstack. conf的mac为下面ib5e-0的mac:
[root@node63 h18160]# dpdk-devbind. py -s
Network devices using kernel driver

0000:3d:00. 0 'Ethernet Connection X722 for 1GbE 37d1' if=ethA3d-0 drv=i40e unused=uio_pci_generic Active
0000:3d:00. 1 'Ethernet Connection X722 for 1GbE 37d1' if=ethA3d-1 drv=i40e unused=uio_pci_generic
0000:3d:00.2 'Ethernet Connection X722 for 1GbE 37d1' if=ethA3d-2 drv=i40e unused=uio_pci_generic 0000:3d:00.
3 'Ethernet Connection X722 for 1GbE 37d1' if=ethA3d-3 drv=i40e unused=uio_pci_generic 0000:5e:00.
0 'MT2894 Family [ConnectX-6 Lx] 101f' if=ib5e-0 drv=mlx5_core unused=uio_pci_generic Active ----> lstack.
конфигурация MAC адрес этого порта
0 'MT2894 Family [ConnectX-6 Lx] 101f' if=ib5e-1 drv=mlx5_core unused=uio_pci_generic Active
0 'MT2894 Family [ConnectX-6 Lx] 101f' if=ib86-0 drv=mlx5_core unused=uio_pci_generic Active
1 'MT2894 Family [ConnectX-6 Lx] 101f' if=ib86-1 drv=mlx5_core unused=uio_pci_generic ActiveЕсли выполнить следующий тестовый программный код, вывод будет нормальным:

#include <stdio.h>
#include <rte_eal.h>
#include <rte_ethdev.h>
#include <rte_malloc.h>
#include <rte_ether.h>

void print_attached_ports_mac() {
    uint16_t port_id;
    struct rte_eth_dev_info dev_info;
    struct rte_ether_addr mac_addr;

    printf("\nDPDK подключенных сетевых портов MAC адреса:\n");
    printf("----------------------------------------\n");

    RTE_ETH_FOREACH_DEV(port_id) {
        rte_eth_dev_info_get(port_id, &dev_info);
        rte_eth_macaddr_get(port_id, &mac_addr);

        printf("Порт ID: %u\n", port_id);
        printf("PCI адрес: %s\n", dev_info.device->name);
        printf("Драйвер имя: %s\n", dev_info.driver_name);
        printf("rx queue %d, tx queue %d, nb %d %d\n", dev_info.max_rx_queues, dev_info.max_tx_queues, dev_info.nb_rx_queues, dev_info.nb_tx_queues);

        printf("MAC адрес: %02X:%02X:%02X:%02X:%02X:%02X\n",
               mac_addr.addr_bytes[0], mac_addr.addr_bytes[1],
               mac_addr.addr_bytes[2], mac_addr.addr_bytes[3],
               mac_addr.addr_bytes[4], mac_addr.addr_bytes[5]);

        printf("----------------------------------------\n");
    }
}

int main(int argc, char **argv) {
    int ret = rte_eal_init(argc, argv);
    if (ret < 0) {
        rte_exit(EXIT_FAILURE, "EAL инициализация не удалась\n");
    }

    print_attached_ports_mac();
    rte_eal_cleanup();
    return 0;
}
```Вывод:
max_rx_queues и max_tx_queues равны 1024:
[root@node63 h18160]# . /dpdk_print_mac --log-level=debug -d /usr/lib64/librte_net_mlx5.so
EAL: Определено CPU лок: 56
EAL: Определено NUMA узлов: 2
EAL: Определено совместное связывание DPDK
EAL: Многопроцессорный сокет /var/run/dpdk/rte/mp_socket
EAL: Выбран режим IOVA 'PA'
EAL: Пробуем PCI драйвер: mlx5_pci (15b3:101f) устройство: 0000:5e:00.0 (сокет 0)
EAL: Проверка драйвера PCI: mlx5_pci (15b3:101f) устройство: 0000:5e:00.1 (окно 0)
EAL: Проверка драйвера PCI: mlx5_pci (15b3:101f) устройство: 0000:86:00.0 (окно 1)
EAL: Проверка драйвера PCI: mlx5_pci (15b3:101f) устройство: 0000:86:00.1 (окно 1)
TELEMETRY: Нет устаревших вызовов, устаревшее окно не создано
DPDK информация о MAC-адресах сетевых интерфейсов:
----------------------------------------
Идентификатор порта: 0
PCI-адрес: 0000:5e:00.0
Имя драйвера: mlx5_pci
rx очередь 1024, tx очередь 1024, nb 0 0
MAC-адрес: 5C:25:73:4E:EB:84
----------------------------------------
Идентификатор порта: 1
PCI-адрес: 0000:5e:00.1
Имя драйвера: mlx5_pci
rx очередь 1024, tx очередь 1024, nb 0 0
MAC-адрес: 5C:25:73:4E:EB:85
----------------------------------------
Идентификатор порта: 2
PCI-адрес: 0000:86:00.0
Имя драйвера: mlx5_pci
rx очередь 1024, tx очередь 1024, nb 0 0
MAC-адрес: 5C:25:73:4E:EB:F8
----------------------------------------
Идентификатор порта: 3
PCI-адрес: 0000:86:00.1
Имя драйвера: mlx5_pci
rx очередь 1024, tx очередь 1024, nb 0 0
MAC-адрес: 5C:25:73:4E:EB:F9
----------------------------------------

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
sig/sig-high-perform
label.
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/openeuler-gazelle.git
git@api.gitlife.ru:oschina-mirror/openeuler-gazelle.git
oschina-mirror
openeuler-gazelle
openeuler-gazelle