<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 9, 2017, at 2:51 PM, Toke Høiland-Jørgensen <<a href="mailto:toke@toke.dk" class="">toke@toke.dk</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class="">Also, could the queue management code be abstracted into a separate<br class="">module, so it can be replaced, like a qdisc? I don’t know if the<br class="">disparity between hardware makes this too difficult or not…<br class=""></blockquote><br class="">Well it's abstracted into mac80211 so all wireless drivers can use it<br class="">(theoretically; right now only ath9k, ath10k and the not-yet-merged mt76<br class="">do). Making it more generic than that is not possible, since it's tied<br class="">to the mac80211 data structures. Which is kinda the point; the whole<br class="">problem was that a "generic layer" (the qdisc) didn't work well<br class="">enough...<br class=""></div></div></blockquote></div><br class=""><div class="">Nice. :)</div><div class=""><br class=""></div><div class="">I’ll mention one example I noticed of the kind of adjustment that probably can’t be done from the qdisc layer today. On page 3 from <a href="http://pollere.net/Pdfdocs/noteburstymacs.pdf" class="">http://pollere.net/Pdfdocs/noteburstymacs.pdf</a>:</div><div class=""><br class=""></div><div class="">"In addition to increasing the interval by the waiting delay s, another adjustment might be useful for certain kinds of bursty MACs. If the MAC is a request-and-grant type, as wifi in infrastructure mode, cable modems and some satellite modems, the allocation of bytes or packets that can be sent during each transmission slot is generally known at the beginning of transmission and may vary for each transmission slot. In that case, it MAY be useful to use that value instead of the MTU value to reset first_above_time_."</div></body></html>