On 07/06/17(Wed) 09:43, Björn Ketelaars wrote: > On Sat 03/06/2017 08:44, Björn Ketelaars wrote: > > > > Reverting back to the previous kernel fixed the issue above. Question: can > > someone give a hint on how to track this issue? > > After a bit of experimenting I'm able to reproduce the problem. Summary is > that queueing in pf and use of a current (after May 30), multi processor > kernel (bsd.mp from snapshots) causes these specific watchdog timeouts > followed by a system freeze. > > Issue is 'gone' when: > 1.) using an older kernel (before May 30); > 2.) removal of queueing statements from pf.conf. Included below the specific > snippet; > 3.) switch from MP kernel to SP kernel. > > New observation is that while queueing, using a MP kernel, the download > bandwidth is only a fraction of what is expected. Exchanging the MP kernel > with a SP kernel restores the download bandwidth to expected level. > > I'm guessing that this issue is related to recent work on PF?
It's certainly a problem in, or exposed by, re(4) with the recent MP work in the network stack. It would help if you could build a kernel with MP_LOCKDEBUG defined and see if the resulting kernel enters ddb(4) instead of freezing. Thanks, Martin > > > --- SNIP --- > > # queueing > # > queue up on re0 bandwidth 15M max 15M > queue up_def parent up bandwidth 1M qlimit 10 default > queue up_dns parent up bandwidth 2M qlimit 20 > queue up_ssh parent up bandwidth 6M qlimit 50 > queue up_web parent up bandwidth 6M qlimit 50 > match on egress set queue up_def > match out on egress proto {tcp, udp} to port 1:1024 set queue up_web > match on egress proto tcp to port 22 set queue up_ssh > match out on egress proto {tcp, udp} to port 53 set queue up_dns > match on egress proto icmp set queue up_dns > match out on egress proto tcp to port {119, 563} set queue up_def > > queue down on re1 bandwidth 150M max 150M > queue down_def parent down bandwidth 10M qlimit 100 default > queue down_dns parent down bandwidth 20M qlimit 200 > queue down_ssh parent down bandwidth 60M qlimit 500 > queue down_web parent down bandwidth 60M qlimit 500 > match on re1 set queue down_def > match in on re1 proto {tcp, udp} to port 1:1024 set queue down_web > match on re1 proto tcp to port 22 set queue down_ssh > match in on re1 proto {tcp, udp} to port 53 set queue down_dns > match on re1 proto icmp set queue down_dns > match in on re1 proto tcp to port {119, 563} set queue down_def > > --- SNIP --- > > -- > Björn Ketelaars > GPG key: 0x4F0E5F21 >