This patch helps the aoe driver handle complex networks with serious congestion problems. In our tests, this patch increased throughput from 36 MB/s to 186 MB/s in a scenario with a theoretical limit of about 200 MB/s. It decreased throughput for a best case network by only about 3%. Examples of networks that could benefit from this patch include...
- networks where the AoE targets have a greater number of ports than the AoE initiator does, or vice versa,
- networks where the different network paths have different capacities,
- networks with hardware problems that cause packet loss.
The patch can be found here.
The three parts of this patch reflected in its name are,
- "zds": for testing, support a setting of zero aoe_deadsecs that disables device failure (also disabling network path failure, so don't use this in production, since packets will be retransmitted to an unresponsive destination forever),
- "tgtrtt": the round trip time (RTT) tracking statistics are kept for each AoE device's remote MAC address instead of just per AoE device,
- "sticky": before the (exponentially fast) slow start is allowed to quickly increase the congestion window size, there is a "cooling off" period where it "sticks" near a smaller value.