The current SKID length configuration causes firmware
to reject peer creation for not able to allocate
AST entries for peers. This issue is observed when
least significant 3 bytes are used ramdomly to create
client MAC addresses.
AST table SKID length configuration is increased to
maximum value to fix this issue.
Signed-off-by: SenthilKumar Jegadeesan <[email protected]>
---
drivers/net/wireless/ath/ath10k/hw.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath10k/hw.h b/drivers/net/wireless/ath/ath10k/hw.h
index 460771f..7f04645 100644
--- a/drivers/net/wireless/ath/ath10k/hw.h
+++ b/drivers/net/wireless/ath/ath10k/hw.h
@@ -223,7 +223,7 @@ struct ath10k_pktlog_hdr {
#define TARGET_10X_NUM_WDS_ENTRIES 32
#define TARGET_10X_DMA_BURST_SIZE 0
#define TARGET_10X_MAC_AGGR_DELIM 0
-#define TARGET_10X_AST_SKID_LIMIT 16
+#define TARGET_10X_AST_SKID_LIMIT 128
#define TARGET_10X_NUM_STATIONS 128
#define TARGET_10X_NUM_PEERS ((TARGET_10X_NUM_STATIONS) + \
(TARGET_10X_NUM_VDEVS))
--
1.9.1
Have you tried testing this with 30+ stations
associated and streaming data, and with other traffic on
nearby channels (say, channel 1 and 6)?
We see bad performance drop-off when we set number-of-peers above
100 (with CT firmware). My kernel will set AST skid limit to number-of-peers + number-of-vdevs.
Performance is best at 32 peers or less (so skid is about 40).
I am wondering if the root cause is firmware/hardware walking the full skid-length for pkts
from un-associated peers on same (or neighbouring) channels, or maybe unlucky hash distribution
in existing peers?
Thanks,
Ben
On 02/13/2015 07:36 AM, SenthilKumar Jegadeesan wrote:
> The current SKID length configuration causes firmware
> to reject peer creation for not able to allocate
> AST entries for peers. This issue is observed when
> least significant 3 bytes are used ramdomly to create
> client MAC addresses.
>
> AST table SKID length configuration is increased to
> maximum value to fix this issue.
>
> Signed-off-by: SenthilKumar Jegadeesan <[email protected]>
> ---
> drivers/net/wireless/ath/ath10k/hw.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/hw.h b/drivers/net/wireless/ath/ath10k/hw.h
> index 460771f..7f04645 100644
> --- a/drivers/net/wireless/ath/ath10k/hw.h
> +++ b/drivers/net/wireless/ath/ath10k/hw.h
> @@ -223,7 +223,7 @@ struct ath10k_pktlog_hdr {
> #define TARGET_10X_NUM_WDS_ENTRIES 32
> #define TARGET_10X_DMA_BURST_SIZE 0
> #define TARGET_10X_MAC_AGGR_DELIM 0
> -#define TARGET_10X_AST_SKID_LIMIT 16
> +#define TARGET_10X_AST_SKID_LIMIT 128
> #define TARGET_10X_NUM_STATIONS 128
> #define TARGET_10X_NUM_PEERS ((TARGET_10X_NUM_STATIONS) + \
> (TARGET_10X_NUM_VDEVS))
> --
> 1.9.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com
This fix is specific to ath10K driver + 10.x firmware combinations. This has been tested extensively, didn't observe the mentioned issue.
Thanks,
Senthil J
-----Original Message-----
From: Ben Greear [mailto:[email protected]]
Sent: Thursday, February 19, 2015 1:53 AM
To: Salakava Jegadeesan, Senthil
Cc: [email protected]; [email protected]
Subject: Re: [PATCH v2] ath10k: Increase AST table SKID length limit
Have you tried testing this with 30+ stations associated and streaming data, and with other traffic on nearby channels (say, channel 1 and 6)?
We see bad performance drop-off when we set number-of-peers above
100 (with CT firmware). My kernel will set AST skid limit to number-of-peers + number-of-vdevs.
Performance is best at 32 peers or less (so skid is about 40).
I am wondering if the root cause is firmware/hardware walking the full skid-length for pkts from un-associated peers on same (or neighbouring) channels, or maybe unlucky hash distribution in existing peers?
Thanks,
Ben
On 02/13/2015 07:36 AM, SenthilKumar Jegadeesan wrote:
> The current SKID length configuration causes firmware to reject peer
> creation for not able to allocate AST entries for peers. This issue is
> observed when least significant 3 bytes are used ramdomly to create
> client MAC addresses.
>
> AST table SKID length configuration is increased to maximum value to
> fix this issue.
>
> Signed-off-by: SenthilKumar Jegadeesan <[email protected]>
> ---
> drivers/net/wireless/ath/ath10k/hw.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/hw.h
> b/drivers/net/wireless/ath/ath10k/hw.h
> index 460771f..7f04645 100644
> --- a/drivers/net/wireless/ath/ath10k/hw.h
> +++ b/drivers/net/wireless/ath/ath10k/hw.h
> @@ -223,7 +223,7 @@ struct ath10k_pktlog_hdr {
> #define TARGET_10X_NUM_WDS_ENTRIES 32
> #define TARGET_10X_DMA_BURST_SIZE 0
> #define TARGET_10X_MAC_AGGR_DELIM 0
> -#define TARGET_10X_AST_SKID_LIMIT 16
> +#define TARGET_10X_AST_SKID_LIMIT 128
> #define TARGET_10X_NUM_STATIONS 128
> #define TARGET_10X_NUM_PEERS ((TARGET_10X_NUM_STATIONS) + \
> (TARGET_10X_NUM_VDEVS))
> --
> 1.9.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-wireless" in the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com
SenthilKumar Jegadeesan <[email protected]> writes:
> The current SKID length configuration causes firmware
> to reject peer creation for not able to allocate
> AST entries for peers. This issue is observed when
> least significant 3 bytes are used ramdomly to create
> client MAC addresses.
>
> AST table SKID length configuration is increased to
> maximum value to fix this issue.
>
> Signed-off-by: SenthilKumar Jegadeesan <[email protected]>
Thanks, applied.
--
Kalle Valo