2020-02-05 19:22:09

by Linus Lüssing

[permalink] [raw]
Subject: [PATCH] ath10k: increase rx buffer size to 2048

From: Linus Lüssing <[email protected]>

Before, only frames with a maximum size of 1528 bytes could be
transmitted between two 802.11s nodes.

For batman-adv for instance, which adds its own header to each frame,
we typically need an MTU of at least 1532 bytes to be able to transmit
without fragmentation.

This patch now increases the maxmimum frame size from 1528 to 1656
bytes.

Tested with two ath10k devices in 802.11s mode, as well as with
batman-adv on top of 802.11s with forwarding disabled.

Fix originally found and developed by Ben Greear.

Link: https://github.com/greearb/ath10k-ct/issues/89
Link: https://github.com/greearb/ath10k-ct/commit/9e5ab25027e0971fa24ccf93373324c08c4e992d
Cc: Ben Greear <[email protected]>
Signed-off-by: Linus Lüssing <[email protected]>
---
drivers/net/wireless/ath/ath10k/htt.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/htt.h b/drivers/net/wireless/ath/ath10k/htt.h
index 4a12564fc30e..6a2b5e10e568 100644
--- a/drivers/net/wireless/ath/ath10k/htt.h
+++ b/drivers/net/wireless/ath/ath10k/htt.h
@@ -2220,7 +2220,7 @@ struct htt_rx_chan_info {
* Should be: sizeof(struct htt_host_rx_desc) + max rx MSDU size,
* rounded up to a cache line size.
*/
-#define HTT_RX_BUF_SIZE 1920
+#define HTT_RX_BUF_SIZE 2048
#define HTT_RX_MSDU_SIZE (HTT_RX_BUF_SIZE - (int)sizeof(struct htt_rx_desc))

/* Refill a bunch of RX buffers for each refill round so that FW/HW can handle
--
2.25.0


2020-04-01 07:01:53

by Sven Eckelmann

[permalink] [raw]
Subject: Re: [PATCH] ath10k: increase rx buffer size to 2048

On Wednesday, 5 February 2020 20:10:43 CEST Linus L?ssing wrote:
> From: Linus L?ssing <[email protected]>
>
> Before, only frames with a maximum size of 1528 bytes could be
> transmitted between two 802.11s nodes.
>
> For batman-adv for instance, which adds its own header to each frame,
> we typically need an MTU of at least 1532 bytes to be able to transmit
> without fragmentation.
>
> This patch now increases the maxmimum frame size from 1528 to 1656
> bytes.
[...]

@Kalle, I saw that this patch was marked as deferred [1] but I couldn't find
any mail why it was done so. It seems like this currently creates real world
problems - so would be nice if you could explain shortly what is currently
blocking its acceptance.

Kind regards,
Sven

[1] https://patchwork.kernel.org/patch/11367055/


Attachments:
signature.asc (849.00 B)
This is a digitally signed message part.

2020-04-28 12:04:07

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] ath10k: increase rx buffer size to 2048

Sven Eckelmann <[email protected]> writes:

> On Wednesday, 1 April 2020 09:00:49 CEST Sven Eckelmann wrote:
>> On Wednesday, 5 February 2020 20:10:43 CEST Linus Lüssing wrote:
>> > From: Linus Lüssing <[email protected]>
>> >
>> > Before, only frames with a maximum size of 1528 bytes could be
>> > transmitted between two 802.11s nodes.
>> >
>> > For batman-adv for instance, which adds its own header to each frame,
>> > we typically need an MTU of at least 1532 bytes to be able to transmit
>> > without fragmentation.
>> >
>> > This patch now increases the maxmimum frame size from 1528 to 1656
>> > bytes.
>> [...]
>>
>> @Kalle, I saw that this patch was marked as deferred [1] but I couldn't find
>> any mail why it was done so. It seems like this currently creates real world
>> problems - so would be nice if you could explain shortly what is currently
>> blocking its acceptance.
>
> Ping?

Sorry for the delay, my plan was to first write some documentation about
different hardware families but haven't managed to do that yet.

My problem with this patch is that I don't know what hardware and
firmware versions were tested, so it needs analysis before I feel safe
to apply it. The ath10k hardware families are very different that even
if a patch works perfectly on one ath10k hardware it could still break
badly on another one.

What makes me faster to apply ath10k patches is to have comprehensive
analysis in the commit log. This shows me the patch author has
considered about all hardware families, not just the one he is testing
on, and that I don't need to do the analysis myself.

--
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

2020-04-28 14:28:42

by Ben Greear

[permalink] [raw]
Subject: Re: [PATCH] ath10k: increase rx buffer size to 2048



On 04/28/2020 05:01 AM, Kalle Valo wrote:
> Sven Eckelmann <[email protected]> writes:
>
>> On Wednesday, 1 April 2020 09:00:49 CEST Sven Eckelmann wrote:
>>> On Wednesday, 5 February 2020 20:10:43 CEST Linus Lüssing wrote:
>>>> From: Linus Lüssing <[email protected]>
>>>>
>>>> Before, only frames with a maximum size of 1528 bytes could be
>>>> transmitted between two 802.11s nodes.
>>>>
>>>> For batman-adv for instance, which adds its own header to each frame,
>>>> we typically need an MTU of at least 1532 bytes to be able to transmit
>>>> without fragmentation.
>>>>
>>>> This patch now increases the maxmimum frame size from 1528 to 1656
>>>> bytes.
>>> [...]
>>>
>>> @Kalle, I saw that this patch was marked as deferred [1] but I couldn't find
>>> any mail why it was done so. It seems like this currently creates real world
>>> problems - so would be nice if you could explain shortly what is currently
>>> blocking its acceptance.
>>
>> Ping?
>
> Sorry for the delay, my plan was to first write some documentation about
> different hardware families but haven't managed to do that yet.
>
> My problem with this patch is that I don't know what hardware and
> firmware versions were tested, so it needs analysis before I feel safe
> to apply it. The ath10k hardware families are very different that even
> if a patch works perfectly on one ath10k hardware it could still break
> badly on another one.
>
> What makes me faster to apply ath10k patches is to have comprehensive
> analysis in the commit log. This shows me the patch author has
> considered about all hardware families, not just the one he is testing
> on, and that I don't need to do the analysis myself.

It has been in ath10k-ct for a while, and that has some fairly wide coverage
in OpenWrt, so likely if there were problems we would have seen it already.

I did not make any specific changes to firmware to support this, so upstream
firmware should behave similarly.

Seems like upstream ath10k could really benefit from having some test beds
so you can actually test code on different chips and have confidence
in your changes!

Thanks,
Ben

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com