Re: Not hitting rated speed on HTB downstream

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Firstly I'd change classid's rate so that the sum rate of all 1:1 child classes are not greater than its rate value. This is applicable to your default class 1:4. 
Secondly, I recommend lowering/setting the ceil value to 10mbit (or slightly lower).




Sent from my iPhone 

On Aug 13, 2013, at 6:35, Horace <horace@xxxxxxxxxxxxxxx> wrote:

> Hi,
> 
> Internet <------> (eth1) Router (bond0.10) <-----> switch <------------------> direct connected clients
>                                                          <-- 10mbit link ---> clients (2ms latency)
> 
> 
> I've got a very strange problem on tc htb downstream (bond0.10), which I cannot attain rated speed for a htb class 1:2. However, I can attain the rated speed for class 1:3 for the same setting (direct connected clients). I'm almost suspecting it is a hardware related issue, but when I changed the 1:2 class ceil value to 30mbit, I can attain the full 10mbit (granted it is a 10mbit down link). 
> 
> I've also tried the settings with upstream on eth1, no problem at all on both 1:2 and 1:3. Seems the problem only appears on downstream. I don't have any policy on the ingress queue right now. And also nothing on the iptables.
> 
> Tried turn off tso/gso, enlarge bond0.10 txqueue, set clocksource to hpet, set burst to 20-200k, not much difference.
> 
> Any suggestion how to solve this problem?
> 
> Here's tc-htb config
> ====================
> tc qdisc del dev bond0.10 root
> tc qdisc add dev bond0.10 root handle 1: htb default 4
> tc class add dev bond0.10 parent 1: classid 1:1 htb rate 1000Mbit prio 1
> tc class add dev bond0.10 parent 1:1 classid 1:2 htb rate 10mbit ceil 10mbit prio 1 
> tc class add dev bond0.10 parent 1:1 classid 1:3 htb rate 10mbit ceil 10mbit prio 1
> tc class add dev bond0.10 parent 1:1 classid 1:4 htb rate 1000mbit prio 2
> 
> tc qdisc add dev bond0.10 parent 1:2 pfifo
> tc qdisc add dev bond0.10 parent 1:3 pfifo
> tc qdisc add dev bond0.10 parent 1:4 pfifo
> 
> tc filter add dev bond0.10 protocol ip parent 1: prio 1 u32 \
> match ip dst 1.1.1.8/29 flowid 1:2
> tc filter add dev bond0.10 protocol ip parent 1: prio 1 u32 \
> match ip dst 1.1.1.81 flowid 1:3
> 
> Here's the stats
> ================
> class htb 1:1 root rate 1000Mbit ceil 1000Mbit burst 1375b/8 mpu 0b overhead 0b cburst 1375b/8 mpu 0b overhead 0b level 7 
> Sent 71611952 bytes 127507 pkt (dropped 0, overlimits 0 requeues 0) 
> rate 8919Kbit 1633pps backlog 0b 0p requeues 0 
> lended: 0 borrowed: 0 giants: 0
> tokens: 16 ctokens: 16
> 
> class htb 1:2 parent 1:1 leaf 8828: prio 1 quantum 125000 rate 10000Kbit ceil 10000Kbit burst 1600b/8 mpu 0b overhead 0b cburst 1600b/8 mpu 0b overhead 0b level 0 
> Sent 18463384 bytes 20911 pkt (dropped 0, overlimits 0 requeues 0) 
> rate 4270Kbit 398pps backlog 0b 1p requeues 0 
> lended: 16930 borrowed: 0 giants: 0
> tokens: -18459 ctokens: -18459             <=============== is it not supposed to be negative when the rate is not more than 10mbit?
> 
> class htb 1:3 parent 1:1 leaf 8829: prio 1 quantum 125000 rate 10000Kbit ceil 10000Kbit burst 1600b/8 mpu 0b overhead 0b cburst 1600b/8 mpu 0b overhead 0b level 0 
> Sent 9921 bytes 61 pkt (dropped 0, overlimits 0 requeues 0) 
> rate 672bit 0pps backlog 0b 0p requeues 0 
> lended: 61 borrowed: 0 giants: 0
> tokens: 16610 ctokens: 16610
> 
> class htb 1:4 parent 1:1 leaf 882a: prio 2 quantum 200000 rate 1000Mbit ceil 1000Mbit burst 1375b/8 mpu 0b overhead 0b cburst 1375b/8 mpu 0b overhead 0b level 0 
> Sent 53138757 bytes 106536 pkt (dropped 0, overlimits 0 requeues 0) 
> rate 4647Kbit 1235pps backlog 0b 0p requeues 0 
> lended: 97706 borrowed: 0 giants: 0
> tokens: 187 ctokens: 187
> 
> 
> 
> Horace Ng
> --
> To unsubscribe from this list: send the line "unsubscribe lartc" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe lartc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux