[CFT] SIFTR - Statistical Information For TCP Research: Uncle Lawrence needs YOU!

Fabian Keil freebsd-listen at fabiankeil.de
Sun Jun 20 14:12:28 UTC 2010


Fabian Keil <freebsd-listen at fabiankeil.de> wrote:

> Lawrence Stewart <lstewart at freebsd.org> wrote:
> 
> > On 06/20/10 22:28, Fabian Keil wrote:

> > > Taking pf (and altq) out of the picture doesn't seem to make
> > > a difference.
> > 
> > Wouldn't have expected it to. Will be very curious to know if the panic 
> > is triggered in GENERIC.
> 
> It's not. I, too, get pfil.c related LORs though:
> 
> lock order reversal:
>  1st 0xffffffff80e5c568 PFil hook read/write mutex (PFil hook read/write mutex) @ /usr/src/sys/net/pfil.c:77
>  2nd 0xffffffff80e5dd68 udp (udp) @ /usr/src/sys/modules/pf/../../contrib/pf/net/pf.c:3035
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
> _witness_debugger() at _witness_debugger+0x2e
> witness_checkorder() at witness_checkorder+0x81e
> _rw_rlock() at _rw_rlock+0x5f
> pf_socket_lookup() at pf_socket_lookup+0x1c5
> pf_test_udp() at pf_test_udp+0x8b0
> pf_test() at pf_test+0x1089
> pf_check_in() at pf_check_in+0x39
> pfil_run_hooks() at pfil_run_hooks+0xcf
> ip_input() at ip_input+0x2ae
> swi_net() at swi_net+0x151
> intr_event_execute_handlers() at intr_event_execute_handlers+0x66
> ithread_loop() at ithread_loop+0xb2
> fork_exit() at fork_exit+0x12a
> fork_trampoline() at fork_trampoline+0xe
> --- trap 0, rip = 0, rsp = 0xffffff8000044d30, rbp = 0 ---
> lock order reversal:
>  1st 0xffffffff80e5c568 PFil hook read/write mutex (PFil hook read/write mutex) @ /usr/src/sys/net/pfil.c:77
>  2nd 0xffffffff80e5d788 tcp (tcp) @ /usr/src/sys/modules/siftr/../../netinet/siftr.c:698
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
> _witness_debugger() at _witness_debugger+0x2e
> witness_checkorder() at witness_checkorder+0x81e
> _rw_rlock() at _rw_rlock+0x5f
> siftr_chkpkt() at siftr_chkpkt+0x3c4
> pfil_run_hooks() at pfil_run_hooks+0xcf
> ip_input() at ip_input+0x2ae
> swi_net() at swi_net+0x151
> intr_event_execute_handlers() at intr_event_execute_handlers+0x66
> ithread_loop() at ithread_loop+0xb2
> fork_exit() at fork_exit+0x12a
> fork_trampoline() at fork_trampoline+0xe
> --- trap 0, rip = 0, rsp = 0xffffff8000044d30, rbp = 0 ---
> 
> My custom kernel normally doesn't have INVARIANTS and WITNESS
> enabled, so I'll try to enable them next.

The culprit seem to be non-default KTR settings in the kernel
while loading alq as a module. With the following change siftr
works with my non-GENERIC kernel, too:

commit f43b8b5171c858df7b419f6a695e9e3b53531a8e
Author: Fabian Keil <fk at fabiankeil.de>
Date:   Sun Jun 20 15:43:01 2010 +0200

    Disable KTR changes.

diff --git a/sys/amd64/conf/ZOEY b/sys/amd64/conf/ZOEY
index 6fb3480..c584317 100644
--- a/sys/amd64/conf/ZOEY
+++ b/sys/amd64/conf/ZOEY
@@ -16,11 +16,11 @@ options     ATA_CAM
 device          atapicam
 options         SC_KERNEL_CONS_ATTR=(FG_GREEN|BG_BLACK)
 
-options         KTR
-options         KTR_ENTRIES=262144
-options         KTR_COMPILE=(KTR_SCHED)
-options         KTR_MASK=(KTR_SCHED)
-options         KTR_CPUMASK=0x3
+#options         KTR
+#options         KTR_ENTRIES=262144
+#options         KTR_COMPILE=(KTR_SCHED)
+#options         KTR_MASK=(KTR_SCHED)
+#options         KTR_CPUMASK=0x3
                                
 options ACCEPT_FILTER_HTTP     
 makeoptions WITH_CTF=yes

Fabian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20100620/f13831bb/signature.pgp


More information about the freebsd-current mailing list