From: Ben Greear <greearb@candelatech.com>
To: Sujith Manoharan <sujith@msujith.org>
Cc: John Linville <linville@tuxdriver.com>,
linux-wireless@vger.kernel.org, stable@vger.kernel.org,
Jouni Malinen <jouni@qca.qualcomm.com>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH] ath9k: Use minstrel rate control by default
Date: Wed, 05 Jun 2013 20:49:02 -0700 [thread overview]
Message-ID: <51B006AE.6080309@candelatech.com> (raw)
In-Reply-To: <1370488216-11626-1-git-send-email-sujith@msujith.org>
On 06/05/2013 08:10 PM, Sujith Manoharan wrote:
> From: Sujith Manoharan <c_manoha@qca.qualcomm.com>
>
> The ath9k rate control algorithm has various architectural
> issues that make it a poor fit in scenarios like congested
> environments etc.
>
> An example: https://bugzilla.redhat.com/show_bug.cgi?id=927191
>
> Change the default to minstrel which is more robust in such cases.
> The ath9k RC code is left in the driver for now, maybe it can
> be removed altogether later on.
>
> Cc: stable@vger.kernel.org
> Cc: Jouni Malinen <jouni@qca.qualcomm.com>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
> ---
> drivers/net/wireless/ath/ath9k/Kconfig | 7 ++++---
> drivers/net/wireless/ath/ath9k/Makefile | 2 +-
> drivers/net/wireless/ath/ath9k/init.c | 2 +-
> drivers/net/wireless/ath/ath9k/rc.h | 2 +-
> 4 files changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/Kconfig b/drivers/net/wireless/ath/ath9k/Kconfig
> index 3b07851..7526580 100644
> --- a/drivers/net/wireless/ath/ath9k/Kconfig
> +++ b/drivers/net/wireless/ath/ath9k/Kconfig
> @@ -84,13 +84,14 @@ config ATH9K_DFS_CERTIFIED
> developed. At this point enabling this option won't do anything
> except increase code size.
>
> -config ATH9K_RATE_CONTROL
> +config ATH9K_LEGACY_RATE_CONTROL
> bool "Atheros ath9k rate control"
> depends on ATH9K
> - default y
> + default n
> ---help---
> Say Y, if you want to use the ath9k specific rate control
> - module instead of minstrel_ht.
> + module instead of minstrel_ht. Be warned that there are various
> + issues with the ath9k RC and minstrel is a more robust algorithm.
>
> config ATH9K_HTC
> tristate "Atheros HTC based wireless cards support"
> diff --git a/drivers/net/wireless/ath/ath9k/Makefile b/drivers/net/wireless/ath/ath9k/Makefile
> index 2ad8f94..75ee9e7 100644
> --- a/drivers/net/wireless/ath/ath9k/Makefile
> +++ b/drivers/net/wireless/ath/ath9k/Makefile
> @@ -8,7 +8,7 @@ ath9k-y += beacon.o \
> antenna.o
>
> ath9k-$(CONFIG_ATH9K_BTCOEX_SUPPORT) += mci.o
> -ath9k-$(CONFIG_ATH9K_RATE_CONTROL) += rc.o
> +ath9k-$(CONFIG_ATH9K_LEGACY_RATE_CONTROL) += rc.o
> ath9k-$(CONFIG_ATH9K_PCI) += pci.o
> ath9k-$(CONFIG_ATH9K_AHB) += ahb.o
> ath9k-$(CONFIG_ATH9K_DEBUGFS) += debug.o
> diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
> index db81acc..b8a3a0e 100644
> --- a/drivers/net/wireless/ath/ath9k/init.c
> +++ b/drivers/net/wireless/ath/ath9k/init.c
> @@ -830,7 +830,7 @@ void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
> sc->ant_rx = hw->wiphy->available_antennas_rx;
> sc->ant_tx = hw->wiphy->available_antennas_tx;
>
> -#ifdef CONFIG_ATH9K_RATE_CONTROL
> +#ifdef CONFIG_ATH9K_LEGACY_RATE_CONTROL
> hw->rate_control_algorithm = "ath9k_rate_control";
> #endif
If you will just delete that code above, then you can compile in both ath9k and minstrel rate
controls and select at run-time by twiddling the mac80211 rate control module option.
Last I tested there were still advantages to ath9k rate control in our environment,
(including when running through an attenuator and over-the-air),
so I think it should be left in to keep minstrel honest if nothing else.
Thanks,
Ben
>
> diff --git a/drivers/net/wireless/ath/ath9k/rc.h b/drivers/net/wireless/ath/ath9k/rc.h
> index 267dbfc..b9a8738 100644
> --- a/drivers/net/wireless/ath/ath9k/rc.h
> +++ b/drivers/net/wireless/ath/ath9k/rc.h
> @@ -231,7 +231,7 @@ static inline void ath_debug_stat_retries(struct ath_rate_priv *rc, int rix,
> }
> #endif
>
> -#ifdef CONFIG_ATH9K_RATE_CONTROL
> +#ifdef CONFIG_ATH9K_LEGACY_RATE_CONTROL
> int ath_rate_control_register(void);
> void ath_rate_control_unregister(void);
> #else
>
--
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
next prev parent reply other threads:[~2013-06-06 3:49 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-06 3:10 [PATCH] ath9k: Use minstrel rate control by default Sujith Manoharan
2013-06-06 3:42 ` Linus Torvalds
2013-06-06 3:49 ` Ben Greear [this message]
2013-06-06 3:53 ` Linus Torvalds
2013-06-06 4:05 ` Sujith Manoharan
2013-06-06 4:17 ` Ben Greear
2013-06-06 4:28 ` Sujith Manoharan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51B006AE.6080309@candelatech.com \
--to=greearb@candelatech.com \
--cc=jouni@qca.qualcomm.com \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=stable@vger.kernel.org \
--cc=sujith@msujith.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.