aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ath/if_ath_sysctl.c
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2013-05-21 18:13:57 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2013-05-21 18:13:57 +0000
commit72910f03e57aea14e0608309a3108fcc5af187b5 (patch)
tree3828059c54a8475bebeb15e51a0c0f27823143ff /sys/dev/ath/if_ath_sysctl.c
parentdd6a574e09ab2142b0ff72df757572ba4399b746 (diff)
downloadsrc-72910f03e57aea14e0608309a3108fcc5af187b5.tar.gz
src-72910f03e57aea14e0608309a3108fcc5af187b5.zip
Implement a separate hardware queue threshold for aggregate and non-aggr
traffic. When transmitting non-aggregate traffic, we need to keep the hardware busy whilst transmitting or small bursts in txdone/tx latency will kill us. This restores non-aggregate iperf performance, especially when doing TDMA. Tested: * AR5416<->AR5416, TDMA * AR5416 STA <-> AR9280 AP
Notes
Notes: svn path=/head/; revision=250866
Diffstat (limited to 'sys/dev/ath/if_ath_sysctl.c')
-rw-r--r--sys/dev/ath/if_ath_sysctl.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/ath/if_ath_sysctl.c b/sys/dev/ath/if_ath_sysctl.c
index 01ad3c697f67..0a5719a24a12 100644
--- a/sys/dev/ath/if_ath_sysctl.c
+++ b/sys/dev/ath/if_ath_sysctl.c
@@ -722,8 +722,11 @@ ath_sysctlattach(struct ath_softc *sc)
"mask of error frames to pass when monitoring");
SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
- "hwq_limit", CTLFLAG_RW, &sc->sc_hwq_limit, 0,
- "Hardware queue depth before software-queuing TX frames");
+ "hwq_limit_nonaggr", CTLFLAG_RW, &sc->sc_hwq_limit_nonaggr, 0,
+ "Hardware non-AMPDU queue depth before software-queuing TX frames");
+ SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
+ "hwq_limit_aggr", CTLFLAG_RW, &sc->sc_hwq_limit_aggr, 0,
+ "Hardware AMPDU queue depth before software-queuing TX frames");
SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
"tid_hwq_lo", CTLFLAG_RW, &sc->sc_tid_hwq_lo, 0,
"");