[Cake] [PATCH] q_cake: Update xstats format to use per-tin structure

Georgios Amanakis gamanakis at gmail.com
Thu Mar 8 13:32:08 EST 2018


I am currently testing on my router, Archlinux with kernels
4.14.24/4.15.7, sch_cake from cobalt and tc-adv but it is behaving as
it should:

==========8<==========
qdisc cake 8001: dev ens4 root refcnt 2 bandwidth 12200Kbit besteffort
dual-dsthost wash ingress rtt 100.0ms noatm overhead 18mpu 64
 Sent 950929 bytes 4293 pkt (dropped 2, overlimits 641 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 44528b of 4Mb
 capacity estimate: 12200Kbit
 min/max transport layer size:         28 /    1500
 min/max overhead-adjusted size:       64 /    1518
 average transport hdr offset:         14


qdisc cake 8002: dev ens3 root refcnt 2 bandwidth 2500Kbit besteffort
dual-srchost nat wash ack-filter rtt 100.0ms noatm overhead 18mpu 64
 Sent 254423 bytes 1712 pkt (dropped 0, overlimits 2158 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 18Kb of 4Mb
 capacity estimate: 2500Kbit
 min/max transport layer size:         28 /    1500
 min/max overhead-adjusted size:       64 /    1518
 average transport hdr offset:         14
==========8<==========

George


On Thu, Mar 8, 2018 at 6:21 AM, Toke Høiland-Jørgensen <toke at toke.dk> wrote:
> Kevin Darbyshire-Bryant <kevin at darbyshire-bryant.me.uk> writes:
>
>>> On 8 Mar 2018, at 11:09, Kevin Darbyshire-Bryant <kevin at darbyshire-bryant.me.uk> wrote:
>>>
>>>
>>>
>>>> On 8 Mar 2018, at 10:57, Toke Høiland-Jørgensen <toke at toke.dk> wrote:
>>>>
>>>> Kevin Darbyshire-Bryant <kevin at darbyshire-bryant.me.uk> writes:
>>>>
>>>>> Archer c7 v2. master branch of openwrt
>>>>
>>>> Ah, great; I actually have one of those sitting on my desk that I could
>>>> potentially reflash without breaking anything too important.
>>>>
>>>> In the meantime; do you get the same weird output on the
>>>> dropped/overlimit/requeues fields if you install a different qdisc than
>>>> cake?
>>>
>>> From previous email this morning:
>>>
>>>> Definitely dubious and I’m no longer convinced it’s a cake only issue.  Looked at my AP which is running an older version of openwrt, so older cake, older kernel etc etc and all qdiscs are returning odd impossibly high values in a variety of fields.
>>>
>>>
>>>
>>> tc -s qdisc
>>> qdisc noqueue 0: dev lo root refcnt 4485644
>>> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>> qdisc fq_codel 0: dev eth1 root refcnt 4485644 limit 4497776p flows 4535164 quantum 4536072 target 5.0ms interval 100.0ms memory_limit 4Mb ecn
>>> Sent 74281480509 bytes 91321865 pkts (dropped 0, overlimits 0)
>>>  maxpacket 1514 drop_overlimit 0 new_flow_count 7549 ecn_mark 0
>>>  new_flows_len 0 old_flows_len 0
>>> qdisc noqueue 0: dev br-lan root refcnt 4485644
>>> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>> qdisc noqueue 0: dev eth1.2 root refcnt 4485644
>>> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>> qdisc noqueue 0: dev br-wifi_guest root refcnt 4485644
>>> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>> qdisc noqueue 0: dev eth1.15 root refcnt 4485644
>>> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>> qdisc noqueue 0: dev wlan1 root refcnt 4485644
>>> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>> qdisc noqueue 0: dev wlan0 root refcnt 4485644
>>> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>> qdisc noqueue 0: dev wlan1-1 root refcnt 4485644
>>> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>> qdisc noqueue 0: dev wlan0-1 root refcnt 4485644
>>> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>>
>>> And that’s on an openwrt system from commit f5b4f5f8e33624f27af9fb3f86e09084181c08ed
>>> Author: Alif M. Ahmad <alive4ever at live.com>
>>> Date:   Sun Feb 25 03:18:41 2018 +0000
>>>
>>> So actually this problem has been around a little while, pre recent cake changes.
>>
>> Oh and curiously the bad values go away if you ask for json output
>> it’s much better.  Which rather points at a ‘feature’ of the
>> ‘print_string’ behaviour.
>
> Right. Well, the print_* functions are behind several levels of
> pre-processor indirection, so not quite obvious what's going on here.
> Don't really see why they should spit out garbage values, though.
>
>
> Stephen, do you have any ideas?
>
> -Toke
>
>
>>
>> tc -s -j qdisc
>> [{
>>         "kind": "noqueue",
>>         "handle": "0:",
>>         "dev": "lo",
>>         "root": true,
>>         "refcnt": 2,
>>         "options": {} Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>     },{
>>         "kind": "fq_codel",
>>         "handle": "0:",
>>         "dev": "eth1",
>>         "root": true,
>>         "refcnt": 2,
>>         "options": {
>>             "limit": 10240,
>>             "flows": 1024,
>>             "quantum": 1514,
>>             "target": 4999,
>>             "interval": 99999,
>>             "memory_limit": 4194304,
>>             "ecn": true
>>         } Sent 74283705614 bytes 91330210 pkts (dropped 0, overlimits 0)   maxpacket 1514 drop_overlimit 0 new_flow_count 7549 ecn_mark 0
>>   new_flows_len 0 old_flows_len 0
>>     },{
>>         "kind": "noqueue",
>>         "handle": "0:",
>>         "dev": "br-lan",
>>         "root": true,
>>         "refcnt": 2,
>>         "options": {} Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>     },{
>>         "kind": "noqueue",
>>         "handle": "0:",
>>         "dev": "eth1.2",
>>         "root": true,
>>         "refcnt": 2,
>>         "options": {} Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>     },{
>>         "kind": "noqueue",
>>         "handle": "0:",
>>         "dev": "br-wifi_guest",
>>         "root": true,
>>         "refcnt": 2,
>>         "options": {} Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>     },{
>>         "kind": "noqueue",
>>         "handle": "0:",
>>         "dev": "eth1.15",
>>         "root": true,
>>         "refcnt": 2,
>>         "options": {} Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>     },{
>>         "kind": "noqueue",
>>         "handle": "0:",
>>         "dev": "wlan1",
>>         "root": true,
>>         "refcnt": 2,
>>         "options": {} Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>     },{
>>         "kind": "noqueue",
>>         "handle": "0:",
>>         "dev": "wlan0",
>>         "root": true,
>>         "refcnt": 2,
>>         "options": {} Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>     },{
>>         "kind": "noqueue",
>>         "handle": "0:",
>>         "dev": "wlan1-1",
>>         "root": true,
>>         "refcnt": 2,
>>         "options": {} Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>     },{
>>         "kind": "noqueue",
>>         "handle": "0:",
>>         "dev": "wlan0-1",
>>         "root": true,
>>         "refcnt": 2,
>>         "options": {} Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>>     }
>> ]
>>
>>
>>>
>>>
>>> _______________________________________________
>>> Cake mailing list
>>> Cake at lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/cake
>>
>>
>> Cheers,
>>
>> Kevin D-B
>>
>> 012C ACB2 28C6 C53E 9775  9123 B3A2 389B 9DE2 334A
> _______________________________________________
> Cake mailing list
> Cake at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cake


More information about the Cake mailing list