freebsd-dev/sys/dev/ath
Adrian Chadd c50346bcf5 ath: bump the default node queue size to 128 frames, not 64
It turns out that, silly adrian, setting it to 64 means only two
AMPDU frames of 32 subframes each.  Thus, whilst those are in-flight,
any subsequent queues frames to that node get dropped.

This ends up being pretty no bueno for performance if any receive
is also going on at that point.

Instead, set it to 128 for the time being to ensure that SOME
frames get queued in the meantime.  This results in some frames
being immediately available in the software queue for transmit
when the two existing A-MPDU frames have been completely sent,
rather than the queue remaining empty until at least one is sent.

It's not the best solution - I still think I'm scheduling receive
far more often than giving time to schedule transmit work -
but at least now I'm not starving the transmit side.

Before this, a bidirectional iperf would show receive at ~ 150mbit/sec.
but the transmit side at like 10kbit/sec.  With it set to 128 it's
now 150mbit/sec receive, and ~ 10mbit receive.  It's better than 10kbit/sec,
but still not as far as I'd like it to be.

Tested:

* AR9380/QCA934x (TL-WDR4300 AP), Macbook pro test STA + AR9380 test STA
2021-05-22 21:23:00 -07:00
..
ath_dfs/null
ath_hal [ath_hal] Add get/set NAV functions 2021-04-18 22:52:31 -07:00
ath_rate
ah_osdep_ar5210.c
ah_osdep_ar5211.c
ah_osdep_ar5212.c
ah_osdep_ar5416.c
ah_osdep_ar9300.c
ah_osdep.c ath_hal: Stop printing messages during boot 2021-03-08 12:39:06 -05:00
ah_osdep.h
if_ath_ahb.c
if_ath_alq.c
if_ath_alq.h
if_ath_beacon.c [ath] Handle STA + AP beacon programming without stomping over HW AP beacon programming 2021-05-22 16:39:16 -07:00
if_ath_beacon.h
if_ath_btcoex_mci.c
if_ath_btcoex_mci.h
if_ath_btcoex.c
if_ath_btcoex.h
if_ath_debug.c
if_ath_debug.h
if_ath_descdma.c
if_ath_descdma.h
if_ath_dfs.c
if_ath_drv.c
if_ath_ioctl.c
if_ath_ioctl.h
if_ath_keycache.c
if_ath_keycache.h
if_ath_led.c
if_ath_led.h
if_ath_lna_div.c
if_ath_lna_div.h
if_ath_misc.h
if_ath_pci_devlist.h
if_ath_pci.c
if_ath_rate.c
if_ath_rx_edma.c
if_ath_rx_edma.h
if_ath_rx.c [ath] Handle STA + AP beacon programming without stomping over HW AP beacon programming 2021-05-22 16:39:16 -07:00
if_ath_rx.h
if_ath_spectral.c
if_ath_spectral.h
if_ath_sysctl.c [ath] Add ast_tsfoor to the sysctl statistics array. 2021-05-22 15:54:16 -07:00
if_ath_sysctl.h
if_ath_tdma.c
if_ath_tdma.h
if_ath_tsf.h
if_ath_tx_edma.c
if_ath_tx_edma.h
if_ath_tx_ht.c Provide MS() and SM() macros for 80211 and wireless drivers. 2020-09-24 10:57:39 +00:00
if_ath_tx_ht.h
if_ath_tx.c Provide MS() and SM() macros for 80211 and wireless drivers. 2020-09-24 10:57:39 +00:00
if_ath_tx.h
if_ath.c ath: bump the default node queue size to 128 frames, not 64 2021-05-22 21:23:00 -07:00
if_athdfs.h
if_athioctl.h [ath] do a cold reset if TSFOOR triggers 2021-03-12 23:30:25 -08:00
if_athrate.h
if_athvar.h [ath] Add ath_hal_getnav and ath_hal_setnav so the driver layer 2021-04-18 22:59:28 -07:00