>Number:         166642
>Category:       kern
>Synopsis:       in 802.11n mode for FreeBSD AP, having a station in powersave 
>cripples AP TX.
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Apr 04 15:20:01 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Andrew Atrens
>Release:        trunk
>Organization:
>Environment:
not platform specific.
>Description:
This little bit of code (wrapped by me in notanymore) absolutely cripples 
FreeBSD 802.11n AP  tx throughput if one or more stations is in power save mode 
(or as macbooks and ipods do - going in and out of power save mode constantly).

All ping times also ratchet from sub 1ms up to 100+ms.


-- atrens@andrew: /localdisk/freebsd/sys/dev/ath (11:02) --
$ svn diff .
Index: if_ath_tx.c
===================================================================
--- if_ath_tx.c (revision 233851)
+++ if_ath_tx.c (working copy)
@@ -1451,8 +1451,10 @@
         * anyone.  This is likely a very suboptimal way of dealing
         * with things.
         */
+#if notanymore
        if ((! is_ampdu) && (vap->iv_ps_sta || avp->av_mcastq.axq_depth))
                txq = &avp->av_mcastq;
+#endif
 
        /* Do the generic frame setup */
        /* XXX should just bzero the bf_state? */



>How-To-Repeat:
Set up a FreeBSD AP in 802.11n mode and start a ping to any station.  Turn on 
your ipod and let it connect to the network.  You will see the pings ratchet 
from sub 1ms up to 100+ms .. FreeBSD AP tx throughput will also be crippled.
>Fix:

Workaround for me is to remove the mentioned code snippet. I'm not sure of the 
original intent of that change but the net effect of this bug is likely more 
deleterious than the problem the change attempted to address.

 


>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to