I've just read this thread: http://marc.info/?t=131277868500001&r=1&w=2 Since its not linux-wireless I'll chime in here. It seems that you are trying to write an algorithm that will work for all networking and 802.11 devices. For networking is seems tough given driver architecture and structure and the hope that all drivers will report things in a fairly similar way. For 802.11 it was pointed out how we have varying bandwidths and depending on the technology used for connection (AP, 802.11s, IBSS) a different number of possible peers need to be considered. 802.11 faced similar algorithmic complexities with rate control and the way Andrew and Derek resolved this was to not assume you could solve this problem and simply test out the water by trial and error, that gave birth to the minstrel rate control algorithm which Felix later rewrote for mac80211 with 802.11n support [1]. Can the BQL algorithm make use of the same trial and error mechanism and simply try different values and and use EWMA [2] to pick the best size for the queue ? [1] http://wireless.kernel.org/en/developers/Documentation/mac80211/RateControl/minstrel [2] http://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average Luis -- 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