<div dir="ltr">Adding a limit on number of segments aggregated by GRO is doable.<div><br></div><div>We have such a patch at Google, mainly because we run a 3.11 based kernel, and we increased MAX_SKB_FRAGS from 17 to 45<div><br></div><div>Doing so, we added a sysctl to be able to quickly 'revert' this increase in case it had some catastrophic consequence.</div><div><br></div><div>cat /proc/sys/net/core/gro_max_frags<br></div><div>45</div></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 28, 2015 at 3:12 PM, Dave Taht <span dir="ltr"><<a href="mailto:dave.taht@gmail.com" target="_blank">dave.taht@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, Apr 28, 2015 at 3:04 PM, Eric Dumazet <<a href="mailto:edumazet@google.com">edumazet@google.com</a>> wrote:<br>
> This what we do in net/sched/sch_tbf.c  (search for tbf_segment())<br>
<br>
Thank you! I had no idea that what I had been calling peeling already<br>
existed. Perhaps in the simplest.qos model in the sqm-scripts (only<br>
one sub qdisc) we should try tbf instead of htb?<br>
<br>
> Although this is quite expensive, this is doable.<br>
<br>
Turning off GRO universally is also expensive (in terms of costs to<br>
other devices that are not rate limited, and in terms of actually<br>
getting it right in the first place)<br>
<br>
the mvneta dropped from 720Mbit each way to 320 with offloads off. We<br>
have had similar trouble with the ubnt edgerouters (8 ports worth of<br>
offloads).<br>
<br>
We were mostly struggling with stuff<br>
at very low rates < 60Mbit, now we are struggling with 100-300Mbit inbound....<br>
<br>
><br>
><br>
><br>
> On Tue, Apr 28, 2015 at 2:38 PM, Dave Taht <<a href="mailto:dave.taht@gmail.com">dave.taht@gmail.com</a>> wrote:<br>
>><br>
>> Dear Eric:<br>
>><br>
>> how would you go about peeling apart a TSO/GSO/GRO packet in a qdisc,<br>
>> and then serving up one packet (or drr quantum's worth) of packets?<br>
>><br>
>> I am seeing 64K GRO'd packets from mvneta driver in the linksys 1900ac<br>
>> device in particular.<br>
>><br>
>> ---------- Forwarded message ----------<br>
>> From: Dave Taht <<a href="mailto:dave.taht@gmail.com">dave.taht@gmail.com</a>><br>
>> Date: Tue, Apr 28, 2015 at 11:04 AM<br>
>> Subject: documentation review request and out of tree cake builds for<br>
>> openwrt/etc.<br>
>> To: <a href="mailto:cake@lists.bufferbloat.net">cake@lists.bufferbloat.net</a>, bloat <<a href="mailto:bloat@lists.bufferbloat.net">bloat@lists.bufferbloat.net</a>>,<br>
>> "<a href="mailto:cerowrt-devel@lists.bufferbloat.net">cerowrt-devel@lists.bufferbloat.net</a>"<br>
>> <<a href="mailto:cerowrt-devel@lists.bufferbloat.net">cerowrt-devel@lists.bufferbloat.net</a>><br>
>><br>
>><br>
>> 1) I have burned much of the morning updating this:<br>
>><br>
>> <a href="http://www.bufferbloat.net/projects/codel/wiki/Cake" target="_blank">http://www.bufferbloat.net/projects/codel/wiki/Cake</a><br>
>><br>
>> Reviewers wanted.<br>
>><br>
>> 2) I am not sure of the right configuration to push stuff to the<br>
>> iproute2-cake repo (removing sfq_codel, and there is an important<br>
>> bugfix in the mainline iproute2 that needs to be pushed into it)<br>
>><br>
>> 3) I have pushed support for building cake out of tree in openwrt to<br>
>> the ceropackages repo (for now), but have not created a new<br>
>> iproute2-cake for it due to item 2. My intent would be to get both<br>
>> into openwrt chaos calmer for further testing... in some repo or<br>
>> another that wasn't ceropackages. the routing repo?<br>
>><br>
>> 4) <a href="http://www.dslreports.com/forum/news,133536~fmode=flat~days=2000" target="_blank">http://www.dslreports.com/forum/news,133536~fmode=flat~days=2000</a><br>
>> has some good convo going on also.<br>
>><br>
>> --<br>
>> Dave Täht<br>
>> Open Networking needs **Open Source Hardware**<br>
>><br>
>> <a href="https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67" target="_blank">https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67</a><br>
>><br>
<span class="HOEnZb"><font color="#888888">>><br>
>> --<br>
>> Dave Täht<br>
>> Open Networking needs **Open Source Hardware**<br>
>><br>
>> <a href="https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67" target="_blank">https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67</a><br>
><br>
><br>
<br>
<br>
<br>
--<br>
Dave Täht<br>
Open Networking needs **Open Source Hardware**<br>
<br>
<a href="https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67" target="_blank">https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67</a><br>
</font></span></blockquote></div><br></div>