Bug 9883
Summary: | Jittery performance when communicating via IPv4 over InfiniBand (IPoIB) | ||
---|---|---|---|
Product: | Drivers | Reporter: | Bart Van Assche (bvanassche) |
Component: | Other | Assignee: | Roland Dreier (roland) |
Status: | REJECTED INVALID | ||
Severity: | normal | ||
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.23.14 | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
Bart Van Assche
2008-02-04 02:27:01 UTC
Tests with the STGT SCSI target implementation and with the iSCSI protocol running over IPoIB and with iSCSI parameter node.conn[0].tcp.window_size = 524288 show a sharp performance drop for writes to a remote RAM disk with block transfer sizes of >= 1MB. This may be due to the IPoIB implementation. Write throughput with a block transfer size of 512 KB: 97 MB/s. Write throughput with a block transfer size of 1 MB: 21 MB/s. Or: a throughput reduction of more than four times. Please ignore comment #1 -- this is probably an STGT performance bug. Regarding the jittery iperf results, I see the following kernel messages appear on the iperf client system after having enabled ipoib debugging (echo 1 > /sys/module/ib_ipoib/parameters/debug_level): [ 0.000000] ib0: TX ring full, stopping kernel net queue This is must be an iperf problem and not an IPoIB problem. The fact that the kernel message "TX ring full" appears is normal, it means that iperf is supplying more data than can be transmitted. And Wireshark complains about acked lost segment/previous segment lost messages because it could not capture all transmitted packets. Netperf gives reproducible results for IPoIB on my setup: 3288+/-1 Mbit/s. |