Problem remains with FreeBSD 6.0-RC1 as seen in RELENG_5

John Baldwin jhb at freebsd.org
Wed Oct 19 12:32:08 PDT 2005


On Wednesday 19 October 2005 03:10 pm, Philip Kizer wrote:
> > After it panic'd early in the boot because hptlock wasn't in the
> > spinlock
> > order list. :)
> > Also, Philip, INVARIANTS requires INVARIANT_SUPPORT, which is why
> > you had the
> > error with _sx_assert().
>
> Ah, I saw that, but was trying to get something out before a (very)
> early weekend out with family, so I apologize for not following up on
> INVARIANT_SUPPORT before posting...I have a kernel with those
> compiling right now.
>
> On Wednesday 19 October 2005 01:49 pm, Robert Watson wrote:
> > Could I have you try the following DDB commands also:
> >    show alllocks
> >    traceall
> >
> > It's possible that 'traceall' isn't present in RC1, in which case it
> > will be present in RC2.  Regardless, the output of "show alllocks"
> > would be helpful.
> >
> > I'll read some code this evening and ponder.
>
> On Wed, 19 Oct 2005, John Baldwin wrote:
> > He'll need witness for 'show alllocks' but that will require having
> > the
> > 'hptlock' spin mutex added to witness' spin lock order.  Also, the
> > psuedo-rw lock phk created for filedesc isn't witness checked since it
> > isn't a mutex or sx lock, and it maybe that there is a reversal
> > involving that lock, but it will be tricky to tell if that is the
> > case.
>
> I'll watch for the change that will allow me to compile with WITNESS
> and post an update as soon as I can with the extra debug data.

You just have to add 'hptlock' to the list in sys/kern/subr_witness.c.  
Something like this:

Index: subr_witness.c
===================================================================
RCS file: /usr/cvs/src/sys/kern/subr_witness.c,v
retrieving revision 1.202
diff -u -r1.202 subr_witness.c
--- subr_witness.c      26 Sep 2005 18:30:12 -0000      1.202
+++ subr_witness.c      19 Oct 2005 19:33:00 -0000
@@ -364,6 +364,7 @@
        { "ap boot", &lock_class_mtx_spin },
 #endif
        { "rm.mutex_mtx", &lock_class_mtx_spin },
+       { "hptlock", &lock_class_mtx_spin },
        { "sio", &lock_class_mtx_spin },
 #ifdef __i386__
        { "cy", &lock_class_mtx_spin },


-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-current mailing list