> +static void ieee80211_txq_enqueue(struct ieee80211_local *local, > + struct txq_info *txqi, > + struct sk_buff *skb) > +{ > + lockdep_assert_held(&txqi->queue.lock); [...] > + atomic_inc(&local->num_tx_queued); This global kinda bothers me - anything we can do about removing it? We obviously didn't have it now - just one (even bigger limit!) per queue, so that's 4000 frames default per interface ... now you're down to 512 for the entire hardware. Perhaps keeping it per interface at least gets away the worst of the contention here? 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