[Cake] Possible BUG - parent backlog incorrectly updated in case of NET_XMIT_CN

Eric Dumazet eric.dumazet at gmail.com
Sun Jun 12 13:48:53 EDT 2016

On Sun, 2016-06-12 at 09:40 -0700, Dave Taht wrote:
> Eric:
> Quick side question (from trying to understand the qdisc locking fixes
> you recently landed in net-next)
> In the sqm-scripts, we are usually in a position where we are doing
> both inbound and outbound rate limiting (htb + fq_codel or cake). We
> typically run out of cpu or have mis-behavior on the inbound side, and
> the cpu bottleneck appears to be in ksoftirqd.
> A) In my failing to make sense of all the dialog around these patches
> ( https://lwn.net/Articles/687617/  ), it sounds like this (inbound
> and outbound) processing are still locked to a single thread,
> essentially?

Om a router, these discussions should not matter really, since the
workload is about receiving/sending packets without user space
intervention (well... I do hope this !)

> B) But you have eliminated lot of overhead in basic qdisc processing
> to much cpu benefit and we should consider backporting these changes
> to lede/openwrt (4.4)?

It is possible that my recent patches avoiding the throttled bit
manipulation might help. I measured between 7% and 8% change in my tests
on x86 with HTB qdisc.

e69f73bfecb0178ae6bd20eb778211739cd71fab Merge branch 'remove-qdisc-throttle'
45f50bed1d808794e514e9eed0e579a8756ce2ba net_sched: remove generic throttled management
42117927cab5a13192ecc227bea19da5059ffc6c net_sched: netem: remove qdisc_is_throttled() use
cca605dd4b3b2bfa381250b7dbbe16b124916f24 net_sched: cbq: remove a flaky use of qdisc_is_throttled()
8fe6a79fb8088a759b3dc57eb641fc3183ad72b8 net_sched: sch_plug: use a private throttled status

More information about the Cake mailing list