lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 11 Nov 2008 17:17:22 +0200
From:	Sami Farin <safari-kernel@...ari.iki.fi>
To:	Linux Networking Mailing List <netdev@...r.kernel.org>
Subject: Linux 2.6.27.5 / SFQ/HTB scheduling problems

idle:
--- 84.250.192.1 ping statistics ---
50 packets transmitted, 50 received, 0% packet loss, time 1218ms
rtt min/avg/max/mdev = 22.293/24.351/41.672/3.776 ms, pipe 2, ipg/ewma 24.876/24.431 ms

(also similar results with Linux 2.6.25.17 when uploading.)
Bother kernels have e1000-8.0.6.

But with Linux 2.6.27.5, only uploading a 3 MiB file using TCP/IP+HTTP,
I get over one second latencies when pinging etc, whereas with
2.6.25.17 I got about 25 ms.

However, when upstream bandwidth is taken by only DNS packets
(maybe 70-100 bytes each), latencies are just fine?!

This is the simplified init script:

--- 8< ---
SENDRATE="460Kbit"
PATH=/sbin:/usr/bin:/usr/sbin
DEV="eth0"
ATM="overhead 12 linklayer atm"
QDISC="sfq"

tc qdisc del dev $DEV root
tc qdisc del dev $DEV ingress
tc qdisc add dev $DEV root handle 1: htb default 19 r2q 1

# :12 is TCP ACKs, :15 is ICMP
tc class add dev $DEV parent 1: classid 1:1 htb rate $SENDRATE ceil $SENDRATE $ATM
tc class add dev $DEV parent 1:1  classid 1:12 htb rate  60Kbit prio 0 ceil 150Kbit $ATM
tc class add dev $DEV parent 1:1  classid 1:15 htb rate  30Kbit prio 0 ceil 150Kbit $ATM
tc class add dev $DEV parent 1:1  classid 1:19 htb rate 370Kbit prio 3 ceil $SENDRATE $ATM
tc qdisc add dev $DEV parent 1:12 handle 12: $QDISC
tc qdisc add dev $DEV parent 1:15 handle 15: $QDISC
tc qdisc add dev $DEV parent 1:19 handle 19: $QDISC
--- 8< ---

idle:
(why overhead is 0b?  linklayer not shown?  iproute2 is the latest git.)

class htb 1:19 parent 1:1 leaf 19: prio 3 quantum 46250 rate 370000bit ceil 460000bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0 
 Sent 108 bytes 2 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 2 borrowed: 0 giants: 0
 tokens: 31546 ctokens: 25374

class htb 1:1 root rate 460000bit ceil 460000bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 7 
 Sent 108 bytes 2 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 25374 ctokens: 25374

class htb 1:12 parent 1:1 leaf 12: prio 0 quantum 7500 rate 60000bit ceil 150000bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 208333 ctokens: 83333

class htb 1:15 parent 1:1 leaf 15: prio 0 quantum 3750 rate 30000bit ceil 150000bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 416666 ctokens: 83333


qdisc htb 1: root r2q 1 default 19 direct_packets_stat 0 ver 3.17
 Sent 465 bytes 7 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
qdisc sfq 12: parent 1:12 limit 127p quantum 1486b flows 127/1024 
 Sent 66 bytes 1 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
qdisc sfq 15: parent 1:15 limit 127p quantum 1486b flows 127/1024 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
qdisc sfq 19: parent 1:19 limit 127p quantum 1486b flows 127/1024 
 Sent 399 bytes 6 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 


--------
uploading:

where did those "class sfq 19:XXX" come from?

--- 84.250.192.1 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 13656ms
rtt min/avg/max/mdev = 24.705/627.912/1156.690/366.291 ms, pipe 2, ipg/ewma 718.754/739.444 ms


class htb 1:19 parent 1:1 leaf 19: prio 3 quantum 46250 rate 370000bit ceil 460000bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0 
 Sent 4094513 bytes 2993 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 408744bit 37pps backlog 0b 41p requeues 0 
 lended: 214 borrowed: 99 giants: 0
 tokens: -1504233 ctokens: -1235857

class htb 1:1 root rate 460000bit ceil 460000bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 7 
 Sent 3991086 bytes 4220 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 429992bit 39pps backlog 0b 0p requeues 0 
 lended: 99 borrowed: 0 giants: 0
 tokens: -1049505 ctokens: -1049505

class htb 1:12 parent 1:1 leaf 12: prio 0 quantum 7500 rate 60000bit ceil 150000bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0 
 Sent 92980 bytes 1356 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 120bit 0pps backlog 0b 0p requeues 0 
 lended: 1356 borrowed: 0 giants: 0
 tokens: 194532 ctokens: 77813

class htb 1:15 parent 1:1 leaf 15: prio 0 quantum 3750 rate 30000bit ceil 150000bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0 
 Sent 4834 bytes 47 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 88bit 0pps backlog 0b 0p requeues 0 
 lended: 47 borrowed: 0 giants: 0
 tokens: 336369 ctokens: 69286

class sfq 19:f parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:11 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 3p requeues 0 
 allot 0 

class sfq 19:12 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:c2 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:c9 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 2p requeues 0 
 allot 0 

class sfq 19:ec parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:106 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:19a parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:19d parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:1d3 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:249 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 3p requeues 0 
 allot 0 

class sfq 19:281 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:2a1 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:2ce parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 2p requeues 0 
 allot 1486 

class sfq 19:2f6 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 3p requeues 0 
 allot 0 

class sfq 19:31a parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 2p requeues 0 
 allot 0 

class sfq 19:324 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 4p requeues 0 
 allot 0 

class sfq 19:34a parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:36a parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:372 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:3ae parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 7p requeues 0 
 allot 4828 

class sfq 19:3ed parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 

class sfq 19:3f5 parent 19: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 1p requeues 0 
 allot 0 


qdisc htb 1: root r2q 1 default 19 direct_packets_stat 0 ver 3.17
 Sent 4456655 bytes 4605 pkt (dropped 0, overlimits 1029 requeues 0) 
 rate 0bit 0pps backlog 0b 60p requeues 0 
qdisc sfq 12: parent 1:12 limit 127p quantum 1486b flows 127/1024 
 Sent 92980 bytes 1356 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
qdisc sfq 15: parent 1:15 limit 127p quantum 1486b flows 127/1024 
 Sent 4834 bytes 47 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
qdisc sfq 19: parent 1:19 limit 127p quantum 1486b flows 127/1024 
 Sent 4358841 bytes 383 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 137239b 60p requeues 0 

(testmy.net speed test reports 28 KiB/s)

----------

STILL, if I limit bandwidth to 256Kbit (half of the link's capacity):

--- 84.250.192.1 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 9896ms
rtt min/avg/max/mdev = 22.259/396.306/1095.908/407.372 ms, pipe 3, ipg/ewma 520.890/432.970 ms

(testmy.net reports 16 KiB/s)

-- 
"None are so old as those who have outlived enthusiasm."
 - Henry David Thoreau

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ