Re: Your locking and rman changes to pci/if_*

From: Ian Dowse <iedowse_at_maths.tcd.ie>
Date: Thu, 17 Apr 2003 17:22:20 +0100
In message <20030417113218.GA96808_at_sunbay.com>, Ruslan Ermilov writes:
>
>Yes, Ian's patch did the trick.  Let me know if you still want a backtrace,
>and should it be against the kernel with debug information or not.

FYI, below is the backtrace that I got. The fact that the trap was
in softclock() was a good indication of a missing callout_stop().
It looks BTW, as if we convert some kernel page faults into witness
panics, which is not so good... I think it is limited to cases where
we page fault without Giant, but with a spin lock held (in this
case callout_lock).

Ian

	ukphy0: detached
	miibus0: detached
	dc0: detached
	panic: blockable sleep lock (sleep mutex) Giant _at_ vm/vm_fault.c:206
	Stack backtrace:
	backtrace(c037eb83,c0428d40,c038146d,c8721a18,1) at backtrace+0x17
	panic(c038146d,c038fff9,c037e279,c038fb5e,ce) at panic+0x96
	witness_lock(c03f4fe0,8,c038fb5e,ce,c037fb2b) at witness_lock+0xaf
	_mtx_lock_flags(c03f4fe0,0,c038fb55,ce,1) at _mtx_lock_flags+0xb1
	vm_fault(c0847000,deadc000,1,0,c0bb5980) at vm_fault+0x59
	trap_pfault(c8721c4c,0,deadc0e6,1,deadc0e6) at trap_pfault+0x181
	trap(18,c0370010,10,c01e57b0,c188fe40) at trap+0x3ed
	calltrap() at calltrap+0x5
	--- trap 0xc, eip = 0xc0214fd3, esp = 0xc8721c8c, ebp = 0xc8721cb0 ---
	softclock(0,0,c037c7db,232,1) at softclock+0x83
	ithread_loop(c0bb3180,c8721d48,c037c66b,314,0) at ithread_loop+0x182
	fork_exit(c01f3060,c0bb3180,c8721d48) at fork_exit+0xc4
	fork_trampoline() at fork_trampoline+0x1a
	--- trap 0x1, eip = 0, esp = 0xc8721d7c, ebp = 0 ---
Received on Thu Apr 17 2003 - 07:22:23 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:03 UTC