<html><head></head><body>The right concept for WiFi would be TQL, time queue limit. This is needed because in wifi there can be several orders of magnitude difference in the speed (transmission rate) that different packets are sent at. The purpose of the hardware queue is to cover for the interrupt latency, ie the time delay required to keep the queue filled. Thus accounting for the time it will take to transmit the packets is important. For wired interfaces with a fixed speed byte counting works fine. Byte counting does not work in a wireless environment where the same number of bytes can take 2 or 3 different orders of magnitude of time to transmit. Accounting for the expected minimum transmission time is critical.<br>
<br>
Simon<br><br><div class="gmail_quote">On August 31, 2014 3:37:07 PM PDT, David Lang <david@lang.hm> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">On Mon, 25 Aug 2014, Sebastian Moeller wrote:<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> Hi Michael,<br /><br /> On Aug 25, 2014, at 10:01 , Michael Welzl <michawe@ifi.uio.no> wrote:<br /> [...]<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"> This is a case where a local proxy server can actually make a big difference <br /> to you. The connections between your mobile devices and the local proxy <br /> server have a short RTT and so all timeouts can be nice and short, and then <br /> the proxy deals with the long RTT connections out to the Internet.<br /></blockquote><br /> Adding a proxy to these considerations only complicates them: it's a hard <br /> enough trade-off when
we just ask ourselves: how large should a buffer for <br /> the sake of link layer retransmissions be? (which is closely related to the <br /> question: how often should a link layer try to retransmit before giving up?) <br /> That's what my emails were about. I suspect that we don't have a good answer <br /> to even these questions, and I suspect that we'd better off having something <br /> dynamic than fixed default values.<br /></blockquote><br /> What about framing the retransmissions not in number but rather in time? <br /> For example the maximum of either time to transmit a few (say 3?) packet at <br /> the current data rate (or maybe one rate lower than current to allow <br /> setoriating signal quality) or 20ms (pulled out of thin air, would need some <br /> research). The first should make sure we actually retransmit to overcome <br /> glitches, and the second should make sure that RTT does not increase to <br /> dramatically. This basically assumes that for reasonable
interactive traffic <br /> we only have a given RTT budget and should make sure not to overspend ;)<br /></blockquote><br />Yep, just like BQL helped a lot on the wired side, because it's a good stand-in <br />for the time involved, we need to get the same concept through the wifi stack <br />and drivers.<br /><br />David Lang<br /><hr /><br />Bloat mailing list<br />Bloat@lists.bufferbloat.net<br /><a href="https://lists.bufferbloat.net/listinfo/bloat">https://lists.bufferbloat.net/listinfo/bloat</a><br /></pre></blockquote></div><br>
-- <br>
Sent from my Android device with K-9 Mail. Please excuse my brevity.</body></html>