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

Bug#631945: debian-kernel Bug#631945



I had the same problem when I upgraded to 2.6.38 vanilla (and
currently at 2.6.39.1), but I can't remember what the last successful
version was (probably greater than 2.6.32). My syslog was full of the
WARN_ON trace from sch_hfsc.c:1427.

I looked back through the history for sch_hfsc.c (see
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=history;f=net/sched/sch_hfsc.c;hb=HEAD)
and "net/sched/sch_hfsc.c: initialize parent's cl_cfmin properly in
init_vf()" stood out as modifying related code
(http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b2eb6131e2f6ff646abb0fc69648179b8b70216).
I did not make any serious attempt to understand the change and I did
not do a bisect (sorry!), but I have been running with this patch
removed for 48 hours without any errors.

The block of code modified by the patch looks exactly the same in
init_vf() and update_vf(), but the patch only modifies one of them. Is
that correct?

Sorry in advance if I'm just adding noise to the problem.

Below is a brief section of my tc configuration. It honestly might be
pretty wrong, but I think I copied the general idea from OpenWrt.

 rate=2000; ratedown=12800; boost=4000; boost_time=20s; iface=eth1

 ifconfig $iface up txqueuelen 5

 tc filter add dev $iface parent ffff: protocol ip u32 match u32 0 0
police rate ${ratedown}kbit burst 200k drop flowid :1

 ul="ul m1 ${boost}kbit d ${boost_time} m2 ${rate}kbit"
 tc qdisc add dev $iface root handle 1: hfsc default 12
 tc class add dev $iface parent 1: classid 1:1 hfsc sc rate ${rate}kbit $ul

 tc class add dev $iface parent 1:1 classid 1:10 hfsc sc umax 1500b
dmax 10ms rate $(($rate*15/100))kbit $ul
 tc class add dev $iface parent 1:1 classid 1:11 hfsc sc umax 1500b
dmax 20ms rate $(($rate*25/100))kbit $ul
 tc class add dev $iface parent 1:1 classid 1:12 hfsc sc umax 1500b
dmax 250ms rate $(($rate*50/100))kbit $ul
 tc class add dev $iface parent 1:1 classid 1:13 hfsc sc umax 1500b
dmax 900ms rate $(($rate*10/100))kbit $ul

 tc qdisc add dev $iface parent 1:10 handle 10: sfq perturb 4
 tc qdisc add dev $iface parent 1:11 handle 11: sfq perturb 4
 tc qdisc add dev $iface parent 1:12 handle 12: sfq perturb 4
 tc qdisc add dev $iface parent 1:13 handle 13: sfq perturb 4

 tc filter add dev $iface parent 1: prio 1 protocol ip u32 match mark
0x1 0xff flowid 1:10
 tc filter add dev $iface parent 1: prio 2 protocol ip u32 match mark
0x2 0xff flowid 1:11
 tc filter add dev $iface parent 1: prio 3 protocol ip u32 match mark
0x3 0xff flowid 1:12
 tc filter add dev $iface parent 1: prio 4 protocol ip u32 match mark
0x4 0xff flowid 1:13



Reply to: