<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Also, way off topic but the data center switch architects have proposed something called HULL.<br><br> <a href="https://people.csail.mit.edu/alizadeh/papers/hull-nsdi12.pdf">https://people.csail.mit.edu/alizadeh/papers/hull-nsdi12.pdf</a></div><div dir="ltr"><br></div><div>One model of the forwarding plane is that the chip firmware is indeed part of the forwarding and the spectrum/AP provides the mesh or "switching fabric."  It's somewhat similar to how data center switches are designed.   In that context a STA, besides minimizing it's processing delay, may be able to do the following interesting things:</div><div><ol><li>If RX queues are "full" (or hit the phantom queue depth) set the CE bit to signal TCP</li><li>If TX queues are "full" and a standing queue (per bloat) is behind it, then drop.  If not, then advantage the air access via adaptive EDCA, e.g. reduce the AIFS (within the limits of the standards)  An AP might want to advertise a somewhat larger AIFS so a STA reducing its for a brief period will achieve the arbitration goals.</li></ol><div>As a side note, we've done a lot of timing work in iperf 2.0.13 to help fault isolate latency issues.  It works best if the device realtime clocks are synchronized, e.g. to a GPS disciplined OCXO using PTP.   We also added TCP connect times to monitor the 3WHS as well as trip times, timing the data xfer phase.   Iperf 2.0.13 has been picked up by many distributions.<br><br></div><div><a href="https://sourceforge.net/projects/iperf2/">https://sourceforge.net/projects/iperf2/</a><br><a href="https://sourceforge.net/projects/iperf2/files/Iperf%202.0.13%20Enhancements.pdf/download">https://sourceforge.net/projects/iperf2/files/Iperf%202.0.13%20Enhancements.pdf/download</a><br></div><div><br>Thoughts welcomed and appreciated<br><br></div><div>Bob </div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 11, 2019 at 7:48 AM Bob McMahon <<a href="mailto:bob.mcmahon@broadcom.com">bob.mcmahon@broadcom.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Just a reminder with 802.11ax uplink OFDMA that STA A and B transmits can be "concurrent."    Also, there are companies working on full duplex per self cancellation.  Kumu networks is one<div><br></div><div><a href="http://kumunetworks.com/" target="_blank">http://kumunetworks.com/</a></div><div><br></div><div>Bob</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 11, 2019 at 12:30 AM David P. Reed <<a href="mailto:dpreed@deepplum.com" target="_blank">dpreed@deepplum.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="arial" size="3"><p style="margin:0px;padding:0px;font-family:arial;font-size:12pt">Side note: between two stations talking through an AP, it's not half duplex. It's kind-of quarter-duplex. Each packet between STA A and STA B cannot  be concurrent with the subsequent packet from A to B, and both transmissions of a packet from B to A.</p>
<p style="margin:0px;padding:0px;font-family:arial;font-size:12pt">That actually has a significant effect on "queue depth".  Please don't call it "interference", because no packet corruption happens.</p>
<p style="margin:0px;padding:0px;font-family:arial;font-size:12pt"> </p>
<p style="margin:0px;padding:0px;font-family:arial;font-size:12pt">This is why merely fixing the queueing discipline in the AP alone doesn't necessarily ameliorate bufferbloat. The queues in the STA's need to be managed, too.</p>
<p style="margin:0px;padding:0px;font-family:arial;font-size:12pt"> </p>
<p style="margin:0px;padding:0px;font-family:arial;font-size:12pt">You guys know that implicitly, I know I'm not telling you anything you don't know. But this queueing needs to be managed in such a way that the backoff in TCP is signaled. That is, packets need to be dropped or marked. You can't fix this in the forwarding paths alone.</p>
<p style="margin:0px;padding:0px;font-family:arial;font-size:12pt"> </p>
<p style="margin:0px;padding:0px;font-family:arial;font-size:12pt">-----Original Message-----<br>From: "Jonathan Morton" <<a href="mailto:chromatix99@gmail.com" target="_blank">chromatix99@gmail.com</a>><br>Sent: Sunday, February 10, 2019 7:38am<br>To: "Adrian Popescu" <<a href="mailto:adriannnpopescu@gmail.com" target="_blank">adriannnpopescu@gmail.com</a>><br>Cc: <a href="mailto:make-wifi-fast@lists.bufferbloat.net" target="_blank">make-wifi-fast@lists.bufferbloat.net</a><br>Subject: Re: [Make-wifi-fast] bloated ath10k<br><br></p>
<div id="gmail-m_7949847777107869330gmail-m_-3728292119382946551SafeStyles1549824769">
<p style="margin:0px;padding:0px;font-family:arial;font-size:12pt">> On 10 Feb, 2019, at 2:24 pm, Adrian Popescu <<a href="mailto:adriannnpopescu@gmail.com" target="_blank">adriannnpopescu@gmail.com</a>> wrote:<br>> <br>> My attempts to use SQM and codel to reduce wifi bloat didn't seem to get me very far. 802.11ac seems more reliable and it seems to be more bloated. ath9k can go as low as 3-5 milliseconds. ath10k is usually in the 20-50 milliseconds range (or more, based on the number of stations). I usually test with a single client as I don't expect latency to improve with more clients.<br><br>Some things are unavoidable when you move to a shared, half-duplex, noisy medium like wifi versus a switched, full-duplex, error-free medium like Ethernet.<br><br>If you're getting 20-50ms under load, then I think things are working quite well with wifi. We can wish for better, but not long ago you could be looking at multiple seconds in bad cases. At the levels you're now seeing, ordinary interactive protocols like DNS and HTTP will work reliably and quickly, and even VoIP should be able to cope; you'll likely only really notice a problem with online games.<br><br>Ath9k has some advantages over ath10k in this area. Its MAC is managed at a lower level by the driver, so we have much more control over it when trying to debloat. I think we still have more control over ath10k than most of the alternatives.<br><br>If low latency is mission critical, though - just run a wire.<br><br> - Jonathan Morton<br><br>_______________________________________________<br>Make-wifi-fast mailing list<br><a href="mailto:Make-wifi-fast@lists.bufferbloat.net" target="_blank">Make-wifi-fast@lists.bufferbloat.net</a><br><a href="https://lists.bufferbloat.net/listinfo/make-wifi-fast" target="_blank">https://lists.bufferbloat.net/listinfo/make-wifi-fast</a></p>
</div></font>_______________________________________________<br>
Make-wifi-fast mailing list<br>
<a href="mailto:Make-wifi-fast@lists.bufferbloat.net" target="_blank">Make-wifi-fast@lists.bufferbloat.net</a><br>
<a href="https://lists.bufferbloat.net/listinfo/make-wifi-fast" rel="noreferrer" target="_blank">https://lists.bufferbloat.net/listinfo/make-wifi-fast</a></blockquote></div>
</blockquote></div>