On Tue, 2012-03-27 at 13:42 +0200, Michal Kazior wrote: > >> But how do we then check if we need to stop given queue or not? Let's > >> say a driver stops q=2 which corresponds to BE on vif0 and vif1. But > >> then comes mac80211 aggregation and stops BE on vif0. I can only think > >> of a single solution to that: "u8 lock_reasons[256];" in ieee80211_local > >> but it seems like an overkill or is it not? > > > > Essentially that's what I was considering, we'd maintain all the queue > > state per HW queue ID. I said it would be a u8 for the HW queue ID, but > > I don't see anyone using more than say 32 or so, so we wouldn't really > > need 256. But we could go up to 256 if needed (though at that point we > > should probably do dynamic allocation instead.) > > We could maybe allocate it according to hw.queues? I think it should be > okay unless a driver has some kind of non-static queues. Are you aware > of such a device/driver? Yeah, we could do that. I'm not sure I want the complexity though, if the limit is going to be something like 16 (I said 32 before but now think for our current use 16 would be sufficient) I don't see much value in dynamically allocating over just reserving space for 16. 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