我目前正在使用 Mellanox BlueField DPU,在省电功能方面面临一些挑战,这些功能似乎会影响网络性能。
我曾经ethtool
探索和调整网卡设置,但没有发现任何与省电相关的特定选项(如 EEE - 节能以太网)。
$ sudo ethtool -i enp3s0f0np0
driver: mlx5_core
version: 5.8-4.1.5
firmware-version: 18.24.0302 (MSF0000000005)
expansion-rom-version:
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes
ethtool --show-features
:
- 没有可供切换的 EEE 设置或类似的电源管理功能。
$ sudo ethtool --set-eee enp3s0f0np0 eee off
Cannot get EEE settings: Operation not supported
我可以找到一些与电源相关的配置,但我不知道它们是什么意思:
$ sudo mlxconfig -d /dev/mst/mt41682_pciconf0 query
Device #1:
----------
Device type: BlueField
Name: N/A
Description: N/A
Device: /dev/mst/mt41682_pciconf0
Configurations: Next Boot
DISABLE_SLOT_POWER_LIMITER True(1)
ADVANCED_POWER_SETTINGS True(1)
更多信息:
$ sudo lshw -c network
*-network:0
description: Ethernet interface
product: MT416842 BlueField integrated ConnectX-5 network controller
vendor: Mellanox Technologies
physical id: 0
bus info: pci@0000:03:00.0
logical name: enp3s0f0np0
logical name: /dev/fb0
version: 00
serial: b8:59:9f:42:6d:24
capacity: 56Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pciexpress vpd msix pm bus_master cap_list rom ethernet physical 1000bt-fd 10000bt-fd 25000bt-fd 40000bt-fd 56000bt-fd autonegotiation fb
configuration: autonegotiation=on broadcast=yes depth=32 driver=mlx5_core driverversion=5.8-4.1.5 duplex=full firmware=18.24.0302 (MSF0000000005) ip=192.168.3.2 latency=0 link=yes mode=1024x768 multicast=yes promiscuous=yes visual=truecolor xres=1024 yres=768
resources: iomemory:3000-2fff irq:84 memory:30002000000-30003ffffff memory:96200000-962fffff memory:30006000000-300073fffff
*-network:1
description: Ethernet interface
product: MT416842 BlueField integrated ConnectX-5 network controller
vendor: Mellanox Technologies
physical id: 0.1
bus info: pci@0000:03:00.1
logical name: enp3s0f1np1
version: 00
serial: b8:59:9f:42:6d:25
capacity: 56Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pciexpress vpd msix pm bus_master cap_list rom ethernet physical 1000bt-fd 10000bt-fd 25000bt-fd 40000bt-fd 56000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=mlx5_core driverversion=5.8-4.1.5 firmware=18.24.0302 (MSF0000000005) ip=192.168.3.3 latency=0 link=yes multicast=yes promiscuous=yes
resources: iomemory:3000-2fff irq:149 memory:30004000000-30005ffffff memory:96300000-963fffff memory:30007400000-300087fffff
鉴于这些细节,我将非常感激有关以下方面的任何指导:
- 如何检查是否有任何嵌入式省电模式处于活动状态,但通过 不可见
ethtool
。 - 禁用这些省电功能以优先考虑性能的步骤,特别是对于延迟敏感的应用程序。
有其他人遇到过类似的挑战吗?任何有关在性能至关重要的环境中管理 Mellanox 网卡电源设置的建议都将非常有帮助。
提前感谢您的见解!
答案1
看完之后Linux 内核文档和RedHat 文章
我想我找到了一个解决方案:
sudo vim /sys/class/net/<my device>/power/control
更改auto
为on
以禁用 RDPM