On Mon, Jan 20, 2020 at 04:12:45PM +0000, Patrick Welche wrote: > On Mon, Jan 20, 2020 at 12:51:00PM +0000, Andrew Doran wrote: > > This also happened the last time I touched rw_downgrade(), and I backed out > > the change then, but both times I don't see the bug. I have some questions: > > > > - Are you running DIAGNOSTIC and/or LOCKDEBUG? I would be very interested > > to see what happens with a LOCKDEBUG kernel here. > > One worked with the addition of LOCKDEBUG. The other didn't, but it seems > to be unrelated: > > db{0}> show panic > Panic string: mutex_vector_enter,510: uninitialized lock > (lock=0xffffbd012366609 > 0, from=ffffffff8033dc9d) > bt > breakpoint() at netbsd:breakpoint+0x5 > vpanic() at netbsd:vpanic+0x178 > snprintf() at netbsd:snprintf > lockdebug_wantlock() at netbsd:lockdebug_wantlock+0x166 > mutex_enter() at netbsd:mutex_enter+0x37c > ixgbe_getext() at netbsd:ixgbe_getext+0x1d
ixgbe_getext does mutex_enter(&eh->eh_mtx) but... > ixgbe_jcl_freeall.isra.0() at netbsd:ixgbe_jcl_freeall.isra.0+0xd6 > ixgbe_jcl_destroy() at netbsd:ixgbe_jcl_destroy+0x14 ... ixgbe_jc_destroy does mutex_destroy(&eh->eh_mtx)