Hi,

Thank you for your reply. This fixed half of the problem. If the link
quality is good all A-MPDUs are
at the maximum length, however if the link quality is not good (high
error) many A-MPDUs are smaller than
the maximum A-MPDU length. As mentioned before it has something to do
with the block ack window.
If I set retry limit to 1 shouldn't this fix the problem? This way we
don't care what happens to the frame, as we wont retransmit anyways.

I have modified the minstrel_ht to lock the retry at 1 (i.e.,
ar[0].count = 1, and ar[1].idx=-1 ar[1].count=0).
However the printk in tx_status sometimes shows attempts higher than 1.
Why is that?

Thank you,
Ali

On 23/01/2014 00:06, Shinnazar wrote:
> Hi Ali,
>
> Iperf has some strange behavior like this. Now you try to run 2 or 3
> parallel iperf threads, for example smth like this: iperf -c "Receiver
> address" -u -t 10 -i 1 -b 50m -p 2. Hope this will help.
>
> BE,
> Shinnazar
>
>     --- Original Message ---
>     *From : *Ali Abedi< a2ab...@uwaterloo.ca >
>     *To : *ath9k-devel< ath9k-de...@venema.h4ckr.net >
>     *CC : *Kamran Nishat< kamran.nis...@gmail.com >,Shinnazar<
>     seytnazarov...@ynu.ac.kr >
>     *Sent : *2014-01-23 00:51:23
>     *Subject : *Re: [ath9k-devel] How to lock AMPDU length at a
>     specific value?
>
>     Thanks for all the replies.
>     Sorry for not mentioning that I actually saturate the link. I use
>     iperf and I set the application data rate
>     to something way more that the mac throughput. The strange thing
>     is that not all A-MPDUs are at the maximum size.
>
>     Here is some results I got from the driver for different max
>     A-MPDU sizes (High app data rate).
>
>     left column is #frames and the column is #bad-frames
>     Mac data rate = 65 Mbps fixed.
>     App data rate = 100 Mbps
>
>     I directly print these stats from xmit.c in ath_tx_complete_agg(),
>     after the call to function ath_tx_count_frames().
>     I print nframes and nbad variables.
>
>     max A-mpdu size = 10 * 1550 B
>     10 0
>     10 0
>     10 0
>     10 0
>     10 0
>     10 0
>     10 0
>     10 0
>     10 0
>
>     Everything is fine all A-MPDUs have 10 frames
>     -----------------------
>     max A-mpdu size = 20 * 1550 B
>     20 0
>     20 0
>     20 0
>     9 0
>     20 0
>     20 0
>     1 0
>     20 0
>     20 0
>     8 0
>     20 0
>
>     Sometimes a-mpdus with fewer frames than 20
>     -----------------------
>     Max A-mpdu size = 32 * 1550 B
>     8 0
>     32 0
>     2 0
>     32 32
>     3 0
>     32 0
>     1 0
>     32 0
>     4 4
>     1 0
>     32 32
>
>     It happens even more frequently.
>
>     Is there a solution to this problem?
>
>     Thank you,
>     Ali
>
>
>     On 14-01-22 02:08 AM, Kamran Nishat wrote:
>>     Yeah,
>>     My initial premise was that u have saturated traffic from upper
>>     layers. But now I think u have some application level
>>     requirements (data rate is less than max PHY rate).
>>     In this case I would advise you to add wait in mac80211. Because
>>     as far as I know ath9k driven by its calls and calls by driver.
>>
>>     Regards,
>>     kamran
>>
>>
>>     On Wed, Jan 22, 2014 at 10:19 AM, Shinnazar
>>     <seytnazarov...@ynu.ac.kr <mailto:seytnazarov...@ynu.ac.kr>> wrote:
>>
>>         Hi Ali,
>>
>>         If I were you, I would try to make the Software queue always
>>         full of frames and then specify ampdu lenfth in
>>         ath_tx_form_aggr().
>>
>>         BR,
>>         Shinnazar
>>
>>             --- Original Message ---
>>             *From : *Ali Abedi< a2ab...@uwaterloo.ca
>>             <mailto:a2ab...@uwaterloo.ca> >
>>             *To : *ath9k-de...@venema.h4ckr.net
>>             <mailto:ath9k-de...@venema.h4ckr.net>
>>             *CC : *
>>             *Sent : *2014-01-22 06:40:18
>>             *Subject : *Re: [ath9k-devel] Fwd: How to lock AMPDU
>>             length at a specific value?
>>
>>
>>             _______________________________________________
>>             ath9k-devel mailing list
>>             ath9k-devel@lists.ath9k.org <mailto:ath9k-devel@lists.ath9k.org>
>>             https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>>
>>             Using a constant rate does not help (I am already doing
>>             this). When I set the limit to 20 for example, I get any
>>             number between
>>             1 to 20 for the number of aggregated frames. This is
>>             probably because when we want to start the transmission
>>             we don't always have 20 frames to aggregate so the card
>>             aggregates all it already has
>>             in the queue ready for transmission. So how can we wait
>>             to have 20 frames ready for transmission so that
>>             all aggregate frames carry exactly 20 frames (constant rate)?
>>
>>             Thank you,
>>             Ali
>>
>>
>>             On 21/01/2014 15:59, Kamran Nishat wrote:
>>>
>>>
>>>
>>>
>>>             do it at a fix rate (1st check if duration of packet is
>>>             less tahn 4ms for ur MCS) and with nearly zero noise losses.
>>>
>>>             Kamran
>>>
>>>
>>>             On Wed, Jan 22, 2014 at 1:54 AM, Ali Abedi
>>>             <a2ab...@uwaterloo.ca <mailto:a2ab...@uwaterloo.ca>> wrote:
>>>
>>>                 These mostly determine the MAX AMPDU length. I also
>>>                 want to determine the minimum length, so
>>>                 that I can set min=max and lock the AMPDU length.
>>>
>>>                 Thank you,
>>>                 Ali
>>>
>>>                 On 21/01/2014 15:07, Kamran Nishat wrote:
>>>>                 As far as i know AMPDU length is determined by 3
>>>>                 constraints. Firs maximum AMPDU length. second
>>>>                 blockAck window (if there were losses then this
>>>>                 will play a role). Third is Max air time of the
>>>>                 AMPDU which is 4ms for some domain constraints.
>>>>                 this comes into play MCS is low and packet duration
>>>>                 gets more than 4ms. See following function in
>>>>                 xmit.c for details
>>>>                 ath_tx_form_aggr 
>>>> <http://lxr.free-electrons.com/ident?i=ath_tx_form_aggr> 
>>>>
>>>>
>>>>                 On Tue, Jan 21, 2014 at 11:49 PM, Ali Abedi
>>>>                 <a2ab...@uwaterloo.ca
>>>>                 <mailto:a2ab...@uwaterloo.ca>> wrote:
>>>>
>>>>                     Hello,
>>>>
>>>>                     I have seen questions regarding the length of
>>>>                     an AMPDU and how to change
>>>>                     the maximum AMPDU length.
>>>>                     However, I require to lock the AMPDU length at
>>>>                     a specific value.
>>>>                     Changing the max length does not guarantee
>>>>                     that all AMPDUs have a fixed length, it can be
>>>>                     anything between 1 to max
>>>>                     based on the rate of arrival of new frames.
>>>>                     Is there a mechanism to force the card to wait
>>>>                     to have enough frames so
>>>>                     that all AMPDUs have a fixed length that we
>>>>                     specify? In other words, I
>>>>                     need all AMPDUs to aggregate X full length frames.
>>>>
>>>>                     Thank you,
>>>>                     Ali
>>>>
>>>>                     _______________________________________________
>>>>                     ath9k-devel mailing list
>>>>                     ath9k-devel@lists.ath9k.org
>>>>                     <mailto:ath9k-devel@lists.ath9k.org>
>>>>                     https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>>>             _______________________________________________
>>>             ath9k-devel mailing list
>>>             ath9k-devel@lists.ath9k.org <mailto:ath9k-devel@lists.ath9k.org>
>>>             https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>>
>>
>>
>>
>>
>>
>>
>>         _______________________________________________
>>         ath9k-devel mailing list
>>         ath9k-devel@lists.ath9k.org <mailto:ath9k-devel@lists.ath9k.org>
>>         https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>>
>>
>
>
>
>
>
>

_______________________________________________
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel

Reply via email to