* [LARTC] HFSC traffic loss bug, kernel 2.6.16.24
@ 2006-09-10 15:28 Leo Wetz
2006-09-13 16:38 ` Patrick McHardy
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Leo Wetz @ 2006-09-10 15:28 UTC (permalink / raw)
To: lartc
[-- Attachment #1: Type: text/plain, Size: 1279 bytes --]
Hello,
I have finally managed to understand HFSC up to a level which allowed me to
create a QoS script which maintains low VoIP latency while running stuff
like eMule.
Unfortunately, HFSC seems to have a severe bug.
Why do I consider this as a bug defenitely?
Well, my script runs without any errors, then QoS works perfectly for some
hours, no error messages in kernel log.
Then randomly the kernel starts saying this:
Sep 10 17:14:51 router kernel: HFSC: Non-work-conserving qdisc ?
Sep 10 17:14:56 router kernel: printk: 266 messages suppressed.
Sep 10 17:14:56 router kernel: HFSC: Non-work-conserving qdisc ?
Sep 10 17:15:01 router kernel: printk: 259 messages suppressed.
Sep 10 17:15:01 router kernel: HFSC: Non-work-conserving qdisc ?
Sep 10 17:15:06 router kernel: printk: 294 messages suppressed.
Sep 10 17:15:06 router kernel: HFSC: Non-work-conserving qdisc ?
It floods the whole kernel log with this.
Traffic is also heavily affected by package loss when this happens, thus I
cannot ignore it.
I have to check my kernel log when I notice that I cannot access websites
anymore and then restart QoS manually.
My complete QoS script is attached to this mail.
If this is not the right location for the bug report please tell me whom I
should contact.
Thanks, Leo
[-- Attachment #2: qos --]
[-- Type: application/octet-stream, Size: 2383 bytes --]
#!/bin/sh
IF="dev ppp0"
IFUP=63kbps
P2PUP=50kbps
qROOT="1:0"
cMAIN="1:1"
cHTB="1:88"
cSKYPE="1:15"
cDEFAULT="1:20"
qHTB="10:0"
cP2P="10:10"
cEMULE="10:11"
cFTP="10:12"
cMIRANDA="10:13"
cAPACHE="10:14"
hSKYPE=115
hEMULE=111
hFTP=112
hMIRANDA=113
hAPACHE=114
MTU="1492"
q1="quantum 1492"
q2="quantum 2984"
q3="quantum 4476"
q5="quantum 7460"
addc="tc class add $IF parent"
addq="tc qdisc add $IF parent"
addf="tc filter add $IF parent"
fst="prio 1 protocol ip"
qos_enable()
{
tc qdisc add $IF root handle $qROOT hfsc default 20
$addc $qROOT classid $cMAIN hfsc ls rate $IFUP ul rate $IFUP
$addc $cMAIN classid $cHTB hfsc ls rate 20kbps ul rate $P2PUP
$addc $cMAIN classid $cSKYPE hfsc rt umax $MTU dmax 30ms rate 10kbps
$addc $cMAIN classid $cDEFAULT hfsc sc umax $MTU dmax 80ms rate 33kbps ul rate 42kbps
$addq $cHTB handle $qHTB htb r2q 4
$addc $qHTB classid $cP2P htb rate $P2PUP mtu $MTU
$addc $cP2P classid $cEMULE htb rate 16kbps ceil $P2PUP $q1 prio 4
$addc $cP2P classid $cFTP htb rate 10kbps ceil $P2PUP $q1 prio 3
$addc $cP2P classid $cMIRANDA htb rate 12kbps ceil $P2PUP $q1 prio 2
$addc $cP2P classid $cAPACHE htb rate 12kbps ceil $P2PUP $q1 prio 1
$addf $qROOT $fst handle $hSKYPE fw flowid $cSKYPE
$addf $qROOT $fst handle $hEMULE fw flowid $cHTB
$addf $qROOT $fst handle $hFTP fw flowid $cHTB
$addf $qROOT $fst handle $hMIRANDA fw flowid $cHTB
$addf $qROOT $fst handle $hAPACHE fw flowid $cHTB
$addf $qHTB $fst handle $hEMULE fw flowid $cEMULE
$addf $qHTB $fst handle $hFTP fw flowid $cFTP
$addf $qHTB $fst handle $hMIRANDA fw flowid $cMIRANDA
$addf $qHTB $fst handle $hAPACHE fw flowid $cAPACHE
$addq $cEMULE handle 101: sfq perturb 10
$addq $cFTP handle 201: sfq perturb 10
$addq $cMIRANDA handle 301: sfq perturb 10
$addq $cAPACHE handle 401: sfq perturb 10
$addq $cSKYPE handle 501: sfq perturb 10
$addq $cDEFAULT handle 601: sfq perturb 10
}
qos_disable()
{
tc qdisc del $IF root
sleep 1
}
qos_restart()
{
qos_disable
qos_enable
}
case "$1" in
start)
echo "Enabling QoS..."
qos_enable
;;
stop)
echo "Disabling QoS..."
qos_disable
;;
restart)
echo "Restarting QoS... "
qos_restart
;;
*)
echo "*** Usage: QoS {start|stop|restart}"
;;
esac
[-- Attachment #3: Type: text/plain, Size: 143 bytes --]
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [LARTC] HFSC traffic loss bug, kernel 2.6.16.24
2006-09-10 15:28 [LARTC] HFSC traffic loss bug, kernel 2.6.16.24 Leo Wetz
@ 2006-09-13 16:38 ` Patrick McHardy
2006-09-14 11:52 ` Re : " gerald HUET
2006-09-15 4:50 ` Patrick McHardy
2 siblings, 0 replies; 4+ messages in thread
From: Patrick McHardy @ 2006-09-13 16:38 UTC (permalink / raw)
To: lartc
Leo Wetz wrote:
> Hello,
>
> I have finally managed to understand HFSC up to a level which allowed me to
> create a QoS script which maintains low VoIP latency while running stuff
> like eMule.
>
> Unfortunately, HFSC seems to have a severe bug.
> Why do I consider this as a bug defenitely?
> Well, my script runs without any errors, then QoS works perfectly for some
> hours, no error messages in kernel log.
> Then randomly the kernel starts saying this:
>
> Sep 10 17:14:51 router kernel: HFSC: Non-work-conserving qdisc ?
> Sep 10 17:14:56 router kernel: printk: 266 messages suppressed.
> Sep 10 17:14:56 router kernel: HFSC: Non-work-conserving qdisc ?
> Sep 10 17:15:01 router kernel: printk: 259 messages suppressed.
> Sep 10 17:15:01 router kernel: HFSC: Non-work-conserving qdisc ?
> Sep 10 17:15:06 router kernel: printk: 294 messages suppressed.
> Sep 10 17:15:06 router kernel: HFSC: Non-work-conserving qdisc ?
>
> It floods the whole kernel log with this.
> Traffic is also heavily affected by package loss when this happens, thus I
> cannot ignore it.
> I have to check my kernel log when I notice that I cannot access websites
> anymore and then restart QoS manually.
>
> My complete QoS script is attached to this mail.
> If this is not the right location for the bug report please tell me whom I
> should contact.
This is not a bug. You can't attach non-work-conserving qdiscs to
HFSC (and it doesn't make any sense). Just use classes instead
of adding HTB qdiscs.
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re : [LARTC] HFSC traffic loss bug, kernel 2.6.16.24
2006-09-10 15:28 [LARTC] HFSC traffic loss bug, kernel 2.6.16.24 Leo Wetz
2006-09-13 16:38 ` Patrick McHardy
@ 2006-09-14 11:52 ` gerald HUET
2006-09-15 4:50 ` Patrick McHardy
2 siblings, 0 replies; 4+ messages in thread
From: gerald HUET @ 2006-09-14 11:52 UTC (permalink / raw)
To: lartc
hello,
Could you please explain what is a "non-work-conserving qdisc" and why it doesn't make sense ?
Gérald
----- Message d'origine ----
De : Patrick McHardy <kaber@trash.net>
À : Leo Wetz <spam-goes-to-dev-null@gmx.net>
Cc : lartc@mailman.ds9a.nl
Envoyé le : Mercredi, 13 Septembre 2006, 4h38mn 16s
Objet : Re: [LARTC] HFSC traffic loss bug, kernel 2.6.16.24
Leo Wetz wrote:
> Hello,
>
> I have finally managed to understand HFSC up to a level which allowed me to
> create a QoS script which maintains low VoIP latency while running stuff
> like eMule.
>
> Unfortunately, HFSC seems to have a severe bug.
> Why do I consider this as a bug defenitely?
> Well, my script runs without any errors, then QoS works perfectly for some
> hours, no error messages in kernel log.
> Then randomly the kernel starts saying this:
>
> Sep 10 17:14:51 router kernel: HFSC: Non-work-conserving qdisc ?
> Sep 10 17:14:56 router kernel: printk: 266 messages suppressed.
> Sep 10 17:14:56 router kernel: HFSC: Non-work-conserving qdisc ?
> Sep 10 17:15:01 router kernel: printk: 259 messages suppressed.
> Sep 10 17:15:01 router kernel: HFSC: Non-work-conserving qdisc ?
> Sep 10 17:15:06 router kernel: printk: 294 messages suppressed.
> Sep 10 17:15:06 router kernel: HFSC: Non-work-conserving qdisc ?
>
> It floods the whole kernel log with this.
> Traffic is also heavily affected by package loss when this happens, thus I
> cannot ignore it.
> I have to check my kernel log when I notice that I cannot access websites
> anymore and then restart QoS manually.
>
> My complete QoS script is attached to this mail.
> If this is not the right location for the bug report please tell me whom I
> should contact.
This is not a bug. You can't attach non-work-conserving qdiscs to
HFSC (and it doesn't make any sense). Just use classes instead
of adding HTB qdiscs.
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Re : [LARTC] HFSC traffic loss bug, kernel 2.6.16.24
2006-09-10 15:28 [LARTC] HFSC traffic loss bug, kernel 2.6.16.24 Leo Wetz
2006-09-13 16:38 ` Patrick McHardy
2006-09-14 11:52 ` Re : " gerald HUET
@ 2006-09-15 4:50 ` Patrick McHardy
2 siblings, 0 replies; 4+ messages in thread
From: Patrick McHardy @ 2006-09-15 4:50 UTC (permalink / raw)
To: lartc
gerald HUET wrote:
> hello,
>
> Could you please explain what is a "non-work-conserving qdisc" and why it doesn't make sense ?
A non-work-conserving qdisc is a qdisc that limits the total amount
of bandwidth by stopping to hand out packets when some limit is reached.
HFSC needs to know the length of the next packet to be sent to calculate
the deadline, to get it it dequeues the inner qdiscs, peeks at the
packet and requeues it again. When the inner qdisc is
non-work-conserving it might refuse to hand the packet to HFSC and
HFSC can not work properly. It does not make sense to do this since
HFSC can operate in non-work-conserving mode itself (using upper-limit
curves), so there is no need to attach further non-work-conserving
qdiscs as leaves.
> ----- Message d'origine ----
> De : Patrick McHardy <kaber@trash.net>
> À : Leo Wetz <spam-goes-to-dev-null@gmx.net>
> Cc : lartc@mailman.ds9a.nl
> Envoyé le : Mercredi, 13 Septembre 2006, 4h38mn 16s
> Objet : Re: [LARTC] HFSC traffic loss bug, kernel 2.6.16.24
>
> Leo Wetz wrote:
>
>>Sep 10 17:14:51 router kernel: HFSC: Non-work-conserving qdisc ?
>>Sep 10 17:14:56 router kernel: printk: 266 messages suppressed.
>>Sep 10 17:14:56 router kernel: HFSC: Non-work-conserving qdisc ?
>>Sep 10 17:15:01 router kernel: printk: 259 messages suppressed.
>>Sep 10 17:15:01 router kernel: HFSC: Non-work-conserving qdisc ?
>>Sep 10 17:15:06 router kernel: printk: 294 messages suppressed.
>>Sep 10 17:15:06 router kernel: HFSC: Non-work-conserving qdisc ?
>
> This is not a bug. You can't attach non-work-conserving qdiscs to
> HFSC (and it doesn't make any sense). Just use classes instead
> of adding HTB qdiscs.
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-09-15 4:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-10 15:28 [LARTC] HFSC traffic loss bug, kernel 2.6.16.24 Leo Wetz
2006-09-13 16:38 ` Patrick McHardy
2006-09-14 11:52 ` Re : " gerald HUET
2006-09-15 4:50 ` Patrick McHardy
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.