Created attachment 801992 [details] setup htb classes and qdisk to provide a minimal network QoS Description of problem: I have running network QoS wuth HTB and iptables in Fedora 19 x86_64 and when I display the stats class with: tc -s class ls p2p1 the rate fields in all classes shows only zeros class htb 1:11 parent 1:10 leaf 111: prio 1 rate 400000bit ceil 100000Kbit burst 1600b cburst 400000b Sent 2072 bytes 28 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 28 borrowed: 0 giants: 0 tokens: 476875 ctokens: 499907 class htb 1:32 parent 1:30 leaf 132: prio 1 rate 40000bit ceil 240000bit burst 1600b cburst 9600b Sent 51822 bytes 511 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 511 borrowed: 0 giants: 0 tokens: 4718750 ctokens: 4953125 Version-Release number of selected component (if applicable): kernel-3.11.1-200.fc19.x86_64 <-broken iproute-3.9.0-2.fc19.x86_64 works with kernel-3.10.11-200.fc19.x86_64 How reproducible: always Steps to Reproduce: boot under kernel-3.11.1-200.fc19.x86_64 I have more htb classes and I use iptables to classify the traffic but maybe the attached script is sufficient to show the problem please edit the network interface in the script thanks 1. sh htb-p2p1 2. iptables -t mangle -A OUTPUT -j MARK --set-mark 0x22 3. generate network traffic while executing 4. 4. tc -s class ls dev eth0. in the test case only the 1:22 htb is used Actual results: rate fields shows only zeros Expected results: this is from a reboot to kernel-3.10.11-200.fc19.x86_64 class htb 1:32 parent 1:30 leaf 132: prio 1 rate 40000bit ceil 240000bit burst 1600b cburst 9600b Sent 37364 bytes 374 pkt (dropped 0, overlimits 0 requeues 0) rate 1936bit 2pps backlog 0b 0p requeues 0 lended: 374 borrowed: 0 giants: 0 tokens: 4687500 ctokens: 4947916 class htb 1:10 parent 1:1 rate 2800Kbit ceil 100000Kbit burst 1599b cburst 57125b Sent 62352 bytes 190 pkt (dropped 0, overlimits 0 requeues 0) rate 112bit 0pps backlog 0b 0p requeues 0 lended: 27 borrowed: 59 giants: 0 tokens: 64010 ctokens: 71213 class htb 1:31 parent 1:30 leaf 131: prio 0 rate 40000bit ceil 240000bit burst 1600b cburst 9600b Sent 27089 bytes 401 pkt (dropped 0, overlimits 0 requeues 0) rate 760bit 2pps backlog 0b 0p requeues 0 lended: 390 borrowed: 11 giants: 0 tokens: 4695235 ctokens: 4971875 thanks in advance, Gabrielo
If you do: echo 1 > /sys/module/sch_htb/parameters/htp_rate_est as root, do you then see the rate estimates again? If so, this is caused by upstream: commit 64153ce0a7b61b2a5cacb01805cbf670142339e9 Author: Eric Dumazet <edumazet> Date: Thu Jun 6 14:53:16 2013 -0700 net_sched: htb: do not setup default rate estimators With a thousand htb classes, est_timer() spends ~5 million cpu cycles and throws out cpu cache, because each htb class has a default rate estimator (est 4sec 16sec). Most users do not use default rate estimators, so switch htb to not setup ones. Add a module parameter (htb_rate_est) so that users relying on this default rate estimator can revert the behavior. echo 1 >/sys/module/sch_htb/parameters/htb_rate_est Signed-off-by: Eric Dumazet <edumazet> Signed-off-by: David S. Miller <davem>
Hi, yeah executing: echo 1 >/sys/module/sch_htb/parameters/htb_rate_est and setting up again the htb classes solved the display of rate estimators thanks, Gabrielo
*** Bug 1017987 has been marked as a duplicate of this bug. ***