共享 RQ 模式
当创建 1 个发送队列 (SQ) 和 1 个接收队列 (RQ) 时,每个表示器每个通道消耗约 3MB 内存。将此扩展到所需的 1024 个表示器(SF 和/或 VF)将需要约 3GB 的单通道内存。3MB 的主要部分是由 RQ 分配(接收缓冲区和 SKB)贡献的。因此,为了有效利用内存,实现了共享 RQ 模式,以便 PF/VF/SF 表示器共享由上行链路表示器拥有的接收队列。
此功能默认启用。要禁用它
在
/etc/mellanox/mlnx-bf.conf
中编辑字段ALLOW_SHARED_RQ
,如下所示ALLOW_SHARED_RQ="no"
重启驱动程序。运行
/etc/init.d/openibd restart
要从主机连接到共享 RQ 模式下的 NVIDIA® BlueField® 网络平台(DPU 或 SuperNIC),请参阅 验证从主机到 BlueField 的连接 部分。
主机上 PF/VF 表示器到 PF/VF 表示器的通信是不可能的。
在共享 RQ 模式下观察到以下行为
预期在运行流量后,在
rx_bytes
和rx_packets
中看到0
,以及有效的vport_rx_packets
和vport_rx_bytes
。示例输出# ethtool -S pf0hpf NIC statistics: rx_packets: 0 rx_bytes: 0 tx_packets: 66946 tx_bytes: 8786869 vport_rx_packets: 546093 vport_rx_bytes: 321100036 vport_tx_packets: 549449 vport_tx_bytes: 321679548
Ethtool 用法 – 在此模式下,无法使用 ethtool 更改/设置 RX 侧的环或合并参数。更改通道也仅影响 TX 侧。