User Manual
Rev 2.2-1.0.1
Mellanox Technologies
5
4.9 Atomic Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.9.1 Atomic Operations in mlx5 Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.9.2 Enhanced Atomic Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.10 Ethernet Tunneling Over IPoIB Driver (eIPoIB) . . . . . . . . . . . . . . . . . . . . . . . 101
4.10.1 Enabling the eIPoIB Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.10.2 Configuring the Ethernet Tunneling Over IPoIB Driver . . . . . . . . . . . . . . . . . . 102
4.10.3 VLAN Configuration Over an eIPoIB Interface . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.10.4 Setting Performance Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.11 Contiguous Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.12 Shared Memory Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.13 XRC - eXtended Reliable Connected Transport Service for InfiniBand. . . . . . 107
4.14 Flow Steering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.14.1 Enable/Disable Flow Steering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.14.2 Flow Domains and Priorities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.15 Single Root IO Virtualization (SR-IOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.15.1 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.15.2 Setting Up SR-IOV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.15.3 Enabling SR-IOV and Para Virtualization on the Same Setup . . . . . . . . . . . . . . 118
4.15.4 Assigning a Virtual Function to a Virtual Machine . . . . . . . . . . . . . . . . . . . . . . 119
4.15.5 Uninstalling SR-IOV Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.15.6 Configuring Pkeys and GUIDs under SR-IOV . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.15.7 Running Network Diagnostic Tools on a Virtual Function . . . . . . . . . . . . . . . . 128
4.16 Quantized Congestion Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.16.1 QCN Tool - mlnx_qcn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.16.2 Setting QCN Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.17 CORE-Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.17.1 CORE-Direct Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.18 Ethtool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.19 Dynamically Connected Transport Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.20 PeerDirect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
4.21 Inline-Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
4.21.1 Querying Inline-Receive Capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
4.21.2 Activating Inline-Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
4.22 Ethernet Performance Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
4.23 Memory Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4.23.1 Query Capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.23.2 Allocating Memory Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.23.3 Binding Memory Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.23.4 Invalidating Memory Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.23.5 Deallocating Memory Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.24 pm_qos usage on ingress Packet Traffic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
4.25 XOR RSS Hash Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Chapter 5 HPC Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.1 HPC-X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.2 Shared Memory Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143