ath10k: re-enable TXQs for all devices
authorToke Høiland-Jørgensen <toke@toke.dk>
Fri, 10 Nov 2017 00:48:39 +0000 (09:48 +0900)
committerKalle Valo <kvalo@qca.qualcomm.com>
Sat, 2 Dec 2017 14:14:19 +0000 (16:14 +0200)
Commit 4ca1807815aa ("ath10k: disable wake_tx_queue for older devices")
disables the use of the mac80211 TXQs for some devices because of a theoretical
throughput regression. The original regression report[1] was related to
fq_codel qdisc drop performance, which was fixed in commit 9d18562a2278
("fq_codel: add batch ability to fq_codel_drop()"). Since then, we have not
seen the TXQ-related regression, so it should be safe to re-enable TXQs.

[1] http://lists.infradead.org/pipermail/ath10k/2016-April/007266.html

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/mac.c

index 0a947ee..ca596ec 100644 (file)
@@ -8329,15 +8329,6 @@ int ath10k_mac_register(struct ath10k *ar)
                        ath10k_warn(ar, "failed to initialise DFS pattern detector\n");
        }
 
-       /* Current wake_tx_queue implementation imposes a significant
-        * performance penalty in some setups. The tx scheduling code needs
-        * more work anyway so disable the wake_tx_queue unless firmware
-        * supports the pull-push mechanism.
-        */
-       if (!test_bit(ATH10K_FW_FEATURE_PEER_FLOW_CONTROL,
-                     ar->running_fw->fw_file.fw_features))
-               ar->ops->wake_tx_queue = NULL;
-
        ret = ath10k_mac_init_rd(ar);
        if (ret) {
                ath10k_err(ar, "failed to derive regdom: %d\n", ret);