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: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
ath_hal [ath_hal] Add get/set NAV functions 2021-04-18 22:52:31 -07:00
ath_rate ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
ah_osdep_ar5210.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
ah_osdep_ar5211.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
ah_osdep_ar5212.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
ah_osdep_ar5416.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
ah_osdep_ar9300.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
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 ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
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 ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
if_ath_btcoex_mci.c
if_ath_btcoex_mci.h
if_ath_btcoex.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
if_ath_btcoex.h
if_ath_debug.c
if_ath_debug.h
if_ath_descdma.c
if_ath_descdma.h
if_ath_dfs.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
if_ath_drv.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
if_ath_ioctl.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
if_ath_ioctl.h
if_ath_keycache.c
if_ath_keycache.h
if_ath_led.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
if_ath_led.h
if_ath_lna_div.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
if_ath_lna_div.h
if_ath_misc.h [ath] [ath_hal] Propagate the HAL_RESET_TYPE through to the chip reset; set it during ath_reset() 2020-05-25 22:31:45 +00:00
if_ath_pci_devlist.h ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
if_ath_pci.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
if_ath_rate.c ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
if_ath_rx_edma.c [ath] Hopefully recover better-er upon RX restart on AR9380. 2020-05-21 04:35:12 +00:00
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 ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
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 ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
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 ath: clean up empty lines in .c and .h files 2020-09-01 21:41:07 +00:00
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 [ath_rate_sample] Limit the tx schedules for A-MPDU ; don't take short retries 2020-05-16 05:07:45 +00:00
if_athvar.h [ath] Add ath_hal_getnav and ath_hal_setnav so the driver layer 2021-04-18 22:59:28 -07:00