[source] ath10k: Re-enable intermediate softqueues for all devices

LEDE Commits lede-commits at lists.infradead.org
Mon Sep 11 08:23:24 PDT 2017


blogic pushed a commit to source.git, branch master:
https://git.lede-project.org/76c3a033f63aba10047a141ccdae303bc9db571e

commit 76c3a033f63aba10047a141ccdae303bc9db571e
Author: Toke Høiland-Jørgensen <toke at toke.dk>
AuthorDate: Wed Sep 6 14:53:19 2017 +0200

    ath10k: Re-enable intermediate softqueues for all devices
    
    The upstream ath10k driver disables the intermediate softqueues for some
    devices. This patch reverts that behaviour and always enables the
    softqueues (and associated bufferbloat fixes). We have had reports of people
    running this with good results:
    https://lists.bufferbloat.net/pipermail/make-wifi-fast/2017-September/001497.html
    
    This also refreshes mac80211 patches.
    
    Signed-off-by: Toke Høiland-Jørgensen <toke at toke.dk>
---
 ...t-disable-wake_tx_queue-for-older-devices.patch | 27 ++++++++++++++++++++++
 .../patches/930-ath10k_add_tpt_led_trigger.patch   |  4 ++--
 2 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/package/kernel/mac80211/patches/332-ath10k-Revert-disable-wake_tx_queue-for-older-devices.patch b/package/kernel/mac80211/patches/332-ath10k-Revert-disable-wake_tx_queue-for-older-devices.patch
new file mode 100644
index 0000000..b4e7862
--- /dev/null
+++ b/package/kernel/mac80211/patches/332-ath10k-Revert-disable-wake_tx_queue-for-older-devices.patch
@@ -0,0 +1,27 @@
+From 59f8c22bf1749c4a2b5947bfaebc677c259a1ad6 Mon Sep 17 00:00:00 2001
+From: dave taht <dave at taht.net>
+Date: Wed, 5 Oct 2016 20:09:15 -0700
+Subject: [PATCH 5/7] Revert "ath10k: disable wake_tx_queue for older devices"
+
+This reverts commit 4ca1807815aa6801aaced7fdefa9edacc2521767
+in the hope that we've fixed all the performance problems now.
+---
+
+--- a/drivers/net/wireless/ath/ath10k/mac.c
++++ b/drivers/net/wireless/ath/ath10k/mac.c
+@@ -8219,15 +8219,6 @@ int ath10k_mac_register(struct ath10k *a
+ 			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);
diff --git a/package/kernel/mac80211/patches/930-ath10k_add_tpt_led_trigger.patch b/package/kernel/mac80211/patches/930-ath10k_add_tpt_led_trigger.patch
index 4cf1b9f..6137a50 100644
--- a/package/kernel/mac80211/patches/930-ath10k_add_tpt_led_trigger.patch
+++ b/package/kernel/mac80211/patches/930-ath10k_add_tpt_led_trigger.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath10k/mac.c
 +++ b/drivers/net/wireless/ath/ath10k/mac.c
-@@ -8003,6 +8003,21 @@ static int ath10k_mac_init_rd(struct ath
+@@ -8007,6 +8007,21 @@ static int ath10k_mac_init_rd(struct ath
  	return 0;
  }
  
@@ -22,7 +22,7 @@
  int ath10k_mac_register(struct ath10k *ar)
  {
  	static const u32 cipher_suites[] = {
-@@ -8248,6 +8263,12 @@ int ath10k_mac_register(struct ath10k *a
+@@ -8244,6 +8259,12 @@ int ath10k_mac_register(struct ath10k *a
  	ar->hw->wiphy->cipher_suites = cipher_suites;
  	ar->hw->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites);
  



More information about the lede-commits mailing list