[Cake] [CAKE] Rate is much lower than expected - CPU load is higher than expected

Jose Blanquicet blanquicet at gmail.com
Mon Jun 22 09:10:37 EDT 2020


Hi everyone,

We have an embedded system with limited CPU resources that acts as a
gateway to provide Internet access from LTE to a private USB-NCM
network (And also to a Wi-Fi private network but we will work on it
later). Our problem is that the bandwidth on LTE and USB link is
higher than what the system is able to handle thus it reaches 100% of
CPU load when we perform a simple speed test from a device on the
private network.

Therefore, we want to limit the bandwidth to avoid system getting
saturated in such use-case. To do so, we thought to use the CAKE on
the USB interface. For instance, we tried:

    tc qdisc replace root dev eth0 cake bandwidth 20mbit ethernet
internet flowblind nonat besteffort nowash

It worked correctly and the maximum rate was limited but there are two
things that are worrying us:

1) The maximum rate reached after applying CAKE was in between 12Mbps
and 15Mbps which is quite lower than the 20Mbps we are configuring, we
were expecting around 18-19. Why? Is there something in the parameters
we are doing wrong? Please take into account that our goal is to limit
the rate but adding as little CPU load as possible.

2) The CPU load added by CAKE was not negligible for our system. In
fact, we compared the CPU load when limitation was done by CAKE and by
the device on the private network, e.g. curl tool with parameter
"--limit-rate". As a result, we found that the CPU load when using
CAKE was 30%. Is there any way to make it lighter with a different
configuration?

Thanks in advance for the support. Any suggestion is welcome.

Jose Blanquicet


More information about the Cake mailing list