Using iperf 2.0.5 to test 1G wi-fi links I found that the iperf client itself wasn't able to drive the link but it topped out at just over 800Mbs. This was using a relatively fast dual core linux PC. It's also been seen on other platforms running MacOS. Investigating further found the core of the problem to be the cost of conditional variables used by Reporter.c needed to protect ReportPacket from lapping the agent. I found the straightforward "fix" is to increase the NUM_REPORT_STRUCTS (ultimately used by malloc in InitReport) to a greater value than 700. I thought 7000 would be fine. This all begets two questions.
1) Has anyone else hit this?
2) Is it possible to change the NUM_REPORT_STRUCTS in the source found on sourceforge to a value greater than 700?
We have a lot of customers, many not known to us and all over the world, using iperf to test 802.11 AC (gig wi-fi) and it would be easiest if this were part of their iperf download (assuming it's the preferred fix.)
Broadcom WiFi Group
PS. I have many other improvements to iperf 2.0.5 but this is the one causing the most pain. We can test and verify on most common systems if that helps.