From: Simon Barber <simon@superduper.net>
To: Jonathan Morton <chromatix99@gmail.com>
Cc: tomh@tomh.org, bloat@lists.bufferbloat.net
Subject: Re: [Bloat] How about a topical LWN article on demonstrating the real-world goodness of CAKE?
Date: Tue, 11 Aug 2020 08:48:33 -0700 [thread overview]
Message-ID: <B2E6A291-1CCB-4DD3-AA3A-C24F64FF836D@superduper.net> (raw)
In-Reply-To: <fdpzkz.qetg01.2wxsbn-qmf@smtp.gmail.com>
I’ve had good success adding GRO into the mix to reduce CPU usage for WiFi APs with complex forwarding rules. The recent Qualcomm chipsets and proprietary drivers support some parts of GRO and TSO in firmware which helps. The kernel’s software GSO function doesn’t work well for this purpose - it reallocates new skbs for headers for all the packets it GSOs - but if you reused the existing space in the skbs for headers, even software GSO could probably be quite fast.
I’ve yet to explore GRO by aggregate but it feels like a natural fit since the wireless packets arrive in aggregates of up to a few 100 frames, to GRO them together into one.
Simon
> On Aug 9, 2020, at 2:35 PM, Jonathan Morton <chromatix99@gmail.com> wrote:
>
>> Are the risks and tradeoffs well enough understood (and visible enough
>> for troubleshooting) to recommend broader deployment?
>>
>> I recently gave openwrt a try on some hardware that I ultimately
>> concluded was insufficient for the job. Fairly soon after changing out
>> my access point, I started getting complaints of Wi-Fi dropping in my
>> household, especially when someone was trying to videoconference. I
>> discovered that my AP was spontaneously rebooting, and the box was
>> getting hot.
>
> Most CPE devices these days rely on hardware accelerated packet forwarding to achieve their published specs. That's all about taking packets in one side and pushing them out the other as quickly as possible, with only minimal support from the CPU (likely, new connections get a NAT/firewall lookup, that's all). It has the advantages of speed and power efficiency, but unfortunately it is also incompatible with our debloating efforts. So debloated CPE will tend to run hotter and with lower peak throughput, which may be noticeable to cable and fibre users; VDSL (FTTC) users might have service of 80Mbps or less where this effect is less likely to matter.
>
> It sounds like that AP had a very marginal thermal design which caused the hardware to overheat as soon as the CPU was under significant load, which it can easily be when a shaper and AQM are running on it at high throughput. The cure is to use better designed hardware, though you could also contemplate breaking the case open to cure the thermal problem directly. There are some known reliable models which could be collected into a list. As a rule of thumb, the ones based on ARM cores are likely to be designed with CPU performance more in mind than those with MIPS.
>
> Cake has some features which can be used to support explicit classification and (de)prioritisation of traffic via firewall marking rules, either by rewriting the Diffserv field or by associating metadata with packets within the network stack (fwmark). This can be very useful for pushing Bittorrent or WinUpdate swarm traffic out of the way. But for most situations, the default flow-isolating behaviour already works pretty well, especially for ensuring that one computer's network load has only a bounded effect on any other. We can discuss that in more detail if that would be helpful.
> _______________________________________________
> Bloat mailing list
> Bloat@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat
next prev parent reply other threads:[~2020-08-11 15:48 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-09 18:27 David Collier-Brown
2020-08-09 19:18 ` Tom Henderson
2020-08-09 21:35 ` Jonathan Morton
2020-08-10 12:57 ` David Collier-Brown
2020-08-10 14:00 ` Daniel Sterling
2020-08-10 15:08 ` Tom Henderson
2020-08-10 15:34 ` Sebastian Moeller
2020-08-10 15:57 ` Jonathan Morton
2020-08-10 16:04 ` Tom Henderson
2020-08-11 12:43 ` Daniel Sterling
2020-08-11 13:57 ` Kenneth Porter
[not found] ` <D8B6D86243E4539BBA58E32C@172.27.17.193>
2020-08-11 14:09 ` Daniel Sterling
2020-08-11 14:11 ` Daniel Sterling
2020-08-11 16:19 ` Kenneth Porter
2020-08-10 17:58 ` Jonathan Foulkes
2020-08-10 19:13 ` Carlos R. Pasqualini
2020-08-10 20:28 ` Dave Collier-Brown
2020-08-11 12:41 ` Michael Yartys
2020-08-10 14:16 ` [Bloat] Sidebar to "How about a topical LWN article on demonstrating the real-world goodness of CAKE?" David Collier-Brown
2020-08-11 15:48 ` Simon Barber [this message]
2020-09-05 18:52 ` [Bloat] How about a topical LWN article on demonstrating the real-world goodness of CAKE? Dave Taht
2020-09-05 20:35 ` Dave Collier-Brown
2020-09-07 9:23 ` Toke Høiland-Jørgensen
2020-09-07 11:33 ` Dave Collier-Brown
2020-09-07 17:20 ` David Collier-Brown
2020-09-08 15:43 ` Dave Taht
2020-09-08 16:48 ` Matt Mathis
2020-09-08 17:09 ` Jonathan Morton
2020-09-10 15:08 ` Anthony Minessale II
2020-09-10 16:52 ` Dave Collier-Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/bloat.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=B2E6A291-1CCB-4DD3-AA3A-C24F64FF836D@superduper.net \
--to=simon@superduper.net \
--cc=bloat@lists.bufferbloat.net \
--cc=chromatix99@gmail.com \
--cc=tomh@tomh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox