mac80211: add config tweak for tx bursting when using VHT
authorFelix Fietkau <nbd@nbd.name>
Wed, 19 Jun 2019 10:32:20 +0000 (12:32 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 17 Jul 2019 07:36:44 +0000 (09:36 +0200)
By default, set BE tx queue TXOP limit to 1.0 in the hostapd config
Many vendor drivers are doing similar things to boost throughput.
On MT7612 under ideal conditions, it improves tx throughput from 470 Mbit/s
to about 570 Mbit/s.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

index 0426cb60f736321fb792d3e61b1757e9d494e85e..6dc4e5bf5fb21d6335c30a95fb89417654fdf2a7 100644 (file)
@@ -23,6 +23,7 @@ drv_mac80211_init_device_config() {
 
        config_add_string path phy 'macaddr:macaddr'
        config_add_string hwmode
+       config_add_string tx_burst
        config_add_int beacon_int chanbw frag rts
        config_add_int rxantenna txantenna antenna_gain txpower distance
        config_add_boolean noscan ht_coex
@@ -97,9 +98,10 @@ mac80211_hostapd_setup_base() {
        [ "$auto_channel" -gt 0 ] && json_get_values channel_list channels
 
        json_get_vars noscan ht_coex
-       json_get_values ht_capab_list ht_capab
+       json_get_values ht_capab_list ht_capab tx_burst
 
        [ -n "$noscan" -a "$noscan" -gt 0 ] && hostapd_noscan=1
+       [ "$tx_burst" = 0 ] && tx_burst=
 
        ieee80211n=1
        ht_capab=
@@ -229,6 +231,7 @@ mac80211_hostapd_setup_base() {
                        vht_link_adapt:3 \
                        vht160:2
 
+               set_default tx_burst 2.0
                append base_cfg "ieee80211ac=1" "$N"
                vht_cap=0
                for cap in $(iw phy "$phy" info | awk -F "[()]" '/VHT Capabilities/ { print $2 }'); do
@@ -310,6 +313,7 @@ mac80211_hostapd_setup_base() {
 ${channel:+channel=$channel}
 ${channel_list:+chanlist=$channel_list}
 ${hostapd_noscan:+noscan=1}
+${tx_burst:+tx_queue_data2_burst=$tx_burst}
 $base_cfg
 
 EOF