Red Hat Bugzilla – Bug 840270
qperf: the codes allow mtu_size to be 4K but failed when it came to practice
Last modified: 2013-03-07 19:09:12 EST
+++ This bug was initially created as a clone of Bug #840269 +++
Description of problem:
The qperf codes would check the mtu_size provided by user, and if it is exactly between 256/512/1K/2K/4K, it will try to modify qp with the specified mtu_size.
line 2006 of rdma.c of qperf-0.4.6:
error(0, "bad MTU: %d; must be 256/512/1K/2K/4K", mtu);
But actually, if the mtu_size is 4K, it will cause ib_modify_qp fail, and the reason is 'Invalid argument'
So if qperf support mtu_size 4K, it is supposed to be no failure. and if it does fail, please don't suppot it.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
[root@rdma3 qperf]# qperf
2. client side
[root@rdma2 qperf]# qperf 172.31.03 --mtu_size 2K uc_bw
send_bw = 974 MB/sec
recv_bw = 0 bytes/sec
[root@rdma2 qperf]# qperf 172.31.03 --mtu_size 4K uc_bw
failed to modify QP to RTR: Invalid argument
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux release. Product Management has
requested further review of this request by Red Hat Engineering, for
potential inclusion in a Red Hat Enterprise Linux release for currently
deployed products. This request is not yet committed for inclusion in
This is not a bug. qperf supports 4k MTUs just fine, however the MTU on the given device is limited to whatever the device and switch are set to. So, even though qperf supports a 4k MTU, the 4k MTU can only be used if the physical MTU of the device is also set to 4k. It is very common to have a device that is limited to a 2k MTU, and in that case qperf can only go up to using a 2k MTU.