Search Linux Wireless

Re: BA session issue due to old BARs?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Saturday 09 June 2012 14:20:48 Helmut Schaa wrote:
> On Sat, Jun 9, 2012 at 2:18 AM, Christian Lamparter
> <chunkeey@xxxxxxxxxxxxxx> wrote:
> > On Friday 08 June 2012 09:57:26 Sean Patrick Santos wrote:
> >> I believe that I have found the commit that introduced this problem,
> >> which was a change in mac80211. However, I'm out of my depth in
> >> figuring out what a really "correct" solution is; all I've done is a
> >> trial-and-error bisection. The commit in question:
> >>
> >> commit f0425beda4d404a6e751439b562100b902ba9c98
> >> Author: Felix Fietkau <nbd@xxxxxxxxxxx>
> >> Date:   Sun Aug 28 21:11:01 2011 +0200
> >>
> >>     mac80211: retry sending failed BAR frames later instead of tearing down aggr
> >>
> >>     Unfortunately failed BAR tx attempts happen more frequently than I
> >>     expected, and the resulting aggregation teardowns cause performance
> >>     issues, as the aggregation session does not always get re-established
> >>     properly.
> >>     Instead of tearing down the entire aggr session, we can simply store the
> >>     SSN of the last failed BAR tx attempt, wait for the first successful
> >>     tx status event, and then send another BAR with the same SSN.
> >>
> >>     Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
> >>     Cc: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx>
> >>     Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>
> >>
> >> This looks relevant. As a matter of personal convenience, I might try
> >> backing out the change tomorrow if it seems that it'll help.
> > Felix,
> >
> > is there any way we can restore the old behavior of tearing
> > down BAs due to BAR transmission failures without breaking
> > ath9k (or rt2x00)?
> 
> No problem with rt2x00 since it has problems reporting the
> tx status of BARs :(
hm, does the hardware pass BA to the driver? Because, the
BA which results from a BAR usually contains the ssn from
the BAR (just the ra / ta is switched). Come to think of it
the ssn and the bitmap might also be useful to map tx_status
to a specific skb. 
 
> > Or am I misinterpreting the commit and
> > this patch was just a temporary fix since back then mac80211
> > had problems with setting up BA session (and they might
> > have been fixed in the meantime?!).
> >
> > Quote from the first paragraph of the commit:
> >> ... the resulting aggregation teardowns cause performance
> >> issues, as the aggregation session does not always get
> >> re-established properly.
> 
> As far as I understood tearing down the BA session and then
> starting it again has a much higher impact onto throughput
> then just resending the BAR after the next successfully sent
> AMPDU.
Well, at least in case of carl9170 it looks like the resending
BARs are confusing the receiver reorder buffer on the other 
HT peer. Since it looks like the HT peer dump hardware is still
ACKs incoming frames from a carl9170 station, but the software
reorder buffer on the HT peer is silently dropping the data frames.
[Of course, data frames from other TIDs, MGMT (probes) or null-
frames are not reordered... so the connection polling with
null-frames does not detect the bad state and won't try to
recover).

Regards,
	Christian
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux