On Fri, 2012-03-09 at 02:01 -0800, Adrian Chadd wrote: > I haven't come up with a cleaner solution either for > FreeBSD/ath/net80211 at the moment. > > Right now, if you try establishing an aggregation session by flooding > 250+ Mbit of UDP, you can easily allocate all the ath_buf's before the > driver gets a chance to send the addba. Or, the addba fails but before > that retransmission occurs, another UDP frame has eaten up another > mbuf/ath_buf. > > I'm totally open to a better idea/solution. Even if I delay allocating > ath_buf's until actual packet TX, that doesn't necessarily stop mbuf > exhaustion from occuring, which is in line with what you see you're > seeing in Linux. > > My temporarily solution is likely to fail datapath TX at say, 70% of > ath_buf's being allocated, allowing the other 30% for whatever > management traffic needs to occur. > > (That said, what may be nice is applying backpressure to the source > interface of the frame(s), eg by sending PAUSE frames to the ethernet > port(s), but that's just me..) That would happen from the bridging code when the interface queues are stopped & get full, right? johannes -- 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