On 2010-01-05 6:16 PM, John W. Linville wrote: > On Tue, Jan 05, 2010 at 06:00:58PM +0100, Johannes Berg wrote: >> Since I removed the master netdev, we've been >> keeping internal queues only, and even before >> that we never told the networking stack above >> the virtual interfaces about congestion. This >> means that packets are queued in mac80211 and >> the upper layers never know, possibly leading >> to memory exhaustion and other problems. >> >> This patch makes all interfaces multiqueue and >> uses ndo_select_queue to put the packets into >> queues per AC. Additionally, when the driver >> stops a queue, we now stop all corresponding >> queues for the virtual interfaces as well. >> >> The injection case will use VO by default for >> non-data frames, and BE for data frames, but >> downgrade any data frames according to ACM. It >> needs to be fleshed out in the future to allow >> chosing the queue/AC in radiotap. >> >> Reported-by: Lennert Buytenhek <buytenh@xxxxxxxxxxx> >> Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> >> Cc: stable@xxxxxxxxxx [2.6.32] >> --- >> I know it's late, and large, but still would be good to have in .33 >> since the issue is fairly serious. > > Obviously I'd like to see some testing. Lennert, does this patch > resolve the issues you raised? I tested this patch on embedded hardware, and it makes a huge difference there. It fixes some serious TCP throughput drops and latency spikes that I observed with ath9k earlier. I think this should be merged ASAP. - Felix -- 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