6.2.3. PCIe Max Payload
On some platforms, reducing PCIe Max Payload Size (MPS) to 256 bytes may improve performance. Note that the Max Read Request Size (MRRS) of 256 bytes is the only value supported by CN5000 at this time.
To check the current value:
sudo lspci -vvv -d 434e: | grep MaxRead MaxPayload 512 bytes, MaxReadReq 256 bytes
In this example, the MaxPayload can be reduced to 256, which may improve peak bandwidth.
To adjust this setting, you must first determine what the setting is in the PCIe configuration space. To determine the PCIe slot of the SuperNIC(s):
lspci | grep Cornelis | awk '{print $1}'For each slot, determine the current value:
setpci -s <slot> 78.w 1957
The MPS digit is the second from the right above (5 → 512 Bytes) and the MRRS digit is the fourth from the right above (1 → 256 Bytes). The mapping between these digits and the size (in Bytes) are according to the following tables:
Value | MaxPayload Size |
|---|---|
1 | 128 |
3 | 256 |
5 | 512 |
7 | 1024 |
9 | 2048 |
B | 4096 |
Value | MaxReadReq Size |
|---|---|
0 | 128 |
1 | 256 |
2 | 512 |
3 | 1024 |
4 | 2048 |
5 | 4096 |
Therefore, to set PCIe MPS to 256, issue the following command:
setpci -s <slot> 78.w=1937
Caution
The setting will vary based on the platform used, and issuing the incorrect commands may result in platform instability and require a cold power cycle to recover.