Skip to content
  • Toke Høiland-Jørgensen's avatar
    mac80211: Adjust TSQ pacing shift · 36148c2b
    Toke Høiland-Jørgensen authored
    
    
    Since we now have the convenient helper to do so, actually adjust the
    TSQ pacing shift for packets going out over a WiFi interface. This
    significantly improves throughput for locally-originated TCP
    connections. The default pacing shift of 10 corresponds to ~1ms of
    queued packet data. Adjusting this to a shift of 8 (i.e. ~4ms) improves
    1-hop throughput for ath9k by a factor of 3, whereas increasing it more
    has diminishing returns.
    
    Achieved throughput for different values of sk_pacing_shift (average of
    5 iterations of 10-sec netperf runs to a host on the other side of the
    WiFi hop):
    
    sk_pacing_shift 10:  43.21 Mbps (pre-patch)
    sk_pacing_shift  9:  78.17 Mbps
    sk_pacing_shift  8: 123.94 Mbps
    sk_pacing_shift  7: 128.31 Mbps
    
    Latency for competing flows increases from ~3 ms to ~10 ms with this
    change. This is about the same magnitude of queueing latency induced by
    flows that are not originated on the WiFi device itself (and so are not
    limited by TSQ).
    
    Signed-off-by: default avatarToke Høiland-Jørgensen <toke@toke.dk>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    36148c2b