2015-02-13 15:36:43

by SenthilKumar Jegadeesan

[permalink] [raw]
Subject: [PATCH v2] ath10k: Increase AST table SKID length limit

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



2015-02-18 20:23:18

by Ben Greear

[permalink] [raw]
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


2015-02-19 11:41:59

by SenthilKumar Jegadeesan

[permalink] [raw]
Subject: RE: [PATCH v2] ath10k: Increase AST table SKID length limit

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


2015-03-05 13:57:19

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH v2] ath10k: Increase AST table SKID length limit

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