On 22.09.2014 23:23, Jacob L. Leifman wrote:
Hi,I think you are hitting the edge case discussed earlier this month (by stu@ henning@ and others and it might have been on tech@) -- due to fairly low OS interrupt rate (baked in default is 100Hz), low bandwidth queue limits on high-bandwidth pipes mostly do not work. Currently the only offered "solution" was to rebuild the kernel with increased tick rate. I recommend searching the archives, the subject was something about "the new queue system". -Jacob.
Hi, I made a new kernel on top of GENERIC.MP with HZ=1000. Same behavior. Also qlimit(50) never get full and pkts/bytes never get dropped. [ns]/sys/arch/amd64/conf$ more HZ # $OpenBSD: GENERIC.MP,v 1.11 2014/09/03 07:44:33 blambert Exp $ include "arch/amd64/conf/GENERIC" option MULTIPROCESSOR #option MP_LOCKDEBUG option HZ=1000 cpu* at mainbus? ------------ pf.conf ------------ queue rootq on $ExtIf bandwidth 98M, max 99M queue inter parent rootq bandwidth 1M, max 2M default queue bg parent rootq bandwidth 10M, max 15M [ns]~$ sysctl -a | grep kern.clokern.clockrate=tick = 1000, tickadj = 4, hz = 1000, profhz = 1000, stathz = 1000
pfctl -vvs queue queue rootq on em0 bandwidth 98M, max 99M qlimit 50[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ] [ measured: 0.0 packets/s, 0 b/s ] queue inter parent rootq on em0 bandwidth 1M, max 2M default qlimit 50[ pkts: 147059 bytes: 150743153 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ] [ measured: 3751.0 packets/s, 30.76Mb/s ] queue bg parent rootq on em0 bandwidth 10M, max 15M qlimit 50[ pkts: 1015 bytes: 107200 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ] [ measured: 27.2 packets/s, 23.16Kb/s ] systat qQUEUE BW SCH PRIO PKTS BYTES DROP_P DROP_B QLEN BORROW SUSPEN P/S B/S rootq on em0 98M 0 0 0 0 0 0 0 inter 1M 191868 194045K 0 0 0 3004 3455760 bg 10M 1297 135814 0 0 0 32 4608
dmesg
OpenBSD 5.6-current (HZ) #0: Tue Sep 23 11:26:16 EEST 2014
[email protected]:/sys/arch/amd64/compile/HZ
real mem = 6416760832 (6119MB)
avail mem = 6237212672 (5948MB)
.....

