[Cake] BUG_ON vs WARN_ON

Dave Taht dave.taht at gmail.com
Wed Oct 5 12:38:19 EDT 2016


I cannot repeat that result this morning, with either replace or
change. I *was* running far more extensive tests between changing
things that way than I just did, but a string of quick tests, changing
the bandwidth, changing it to unlimited, etc got the correct behaviors
throughout for both replace and change. But, changing it to 50mbit
shows the capacity estimate here to still be 700Mbit.

d at apu2:~$ tc -s qdisc show dev enp2s0

qdisc cake 800f: root refcnt 9 bandwidth 50Mbit diffserv4 flows rtt 100.0ms raw

 Sent 7573781243 bytes 5002790 pkt (dropped 6, overlimits 1270728
requeues 19055)

 backlog 0b 0p requeues 19055

 memory used: 729504b of 4Mb

 capacity estimate: 700Mbit

                 Bulk   Best Effort      Video       Voice

  thresh      3125Kbit      50Mbit      25Mbit   12500Kbit

  target         5.8ms       5.0ms       5.0ms       5.0ms

  interval     100.8ms     100.0ms     100.0ms     100.0ms

  pk_delay         0us       4.6ms         1us        69us

  av_delay         0us       3.2ms         0us         4us

  sp_delay         0us         5us         0us         3us

  pkts               0     2991920           1          89

  bytes              0  4529561380          90       26451

  way_inds           0           0           0           0

  way_miss           0          38           1           2

  way_cols           0           0           0           0

  drops              0           6           0           0

  marks              0           0           0           0

  sp_flows           0           0           0           0

  bk_flows           0           0           0           1

  un_flows           0           0           0           0

  max_len            0       19682          90         927


I am still not seeing the number of drops I would expect in the cake
statistics. 4 with 4 flows going at 50mbit on a 30 second test doesn't
strike me as enough. I will do a capture later to see if they add up.

That said, I did have to patch out on this particular kernel, this:

Linux apu2 4.5.0-fqmac3.5-wt-ath # yes, I'm running 3 kernels behind mainline.


diff --git a/sch_cake.c b/sch_cake.c

index f613ab4..92c5078 100644

--- a/sch_cake.c

+++ b/sch_cake.c

@@ -64,7 +64,7 @@

 #endif



 #if (KERNEL_VERSION(4,4,11) > LINUX_VERSION_CODE) ||
((KERNEL_VERSION(4,5,0) <= LINUX_VERSION_CODE) &&
(KERNEL_VERSION(4,5,5) > LINUX_VERSION_CODE))

-#define qdisc_tree_reduce_backlog(_a,_b,_c) qdisc_tree_decrease_qlen(_a,_b)

+// #define qdisc_tree_reduce_backlog(_a,_b,_c) qdisc_tree_decrease_qlen(_a,_b)

 #endif


More information about the Cake mailing list