Subject: Re: isp(4) and overlapping commands (-i386, -current+sommerfeld_i386mp_1)
To: Sean Doran <smd@ebone.net>
From: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
List: tech-smp
Date: 05/27/2001 09:26:33
> ps - there should be an easier way to tell fsck_ffs to not reconnect 
>      unconnected files - crashing while doing an rm -r in a big tree
>      when one has softupdates on is very messy...

there's something very very wrong performance-wise with rm -rf and
softdeps these days -- the system develops a massive backlog of vnode
operations which take "forever" to chew through.  I haven't looked
into it yet, though..

> May 27 12:17:10 crasse /netbsd: isp0: 0.0.0 had an unexpected bus free
> May 27 12:17:10 crasse /netbsd: sd0(isp0:0:0:0): invalid return code from adapte
> r: 3
> May 27 12:17:11 crasse /netbsd: sd0(isp0:0:0:0):  Check Condition on CDB: 0x2a 0
> 0 00 b3 bf ee 00 00 20 00
> May 27 12:17:11 crasse /netbsd:     SENSE KEY:  Aborted Command
> May 27 12:17:11 crasse /netbsd:      ASC/ASCQ:  Overlapped Commands Attempted
> May 27 12:17:11 crasse /netbsd: 
> May 27 12:17:12 crasse /netbsd: isp0: 0.0.0 had an unexpected bus free

This is something you want to run by mjacob; isp is his driver..


> May 27 12:17:26 crasse /netbsd: simple_lock: locking against myself
> May 27 12:17:26 crasse /netbsd: lock: 0xe63ef654, currently at: ../../../../uvm/
> uvm_vnode.c:608
> May 27 12:17:26 crasse /netbsd: on cpu 0
> May 27 12:17:26 crasse /netbsd: last locked: ../../../../uvm/uvm_pager.c:535
> May 27 12:17:26 crasse /netbsd: last unlocked: ../../../../miscfs/genfs/genfs_vn
> ops.c:960
> May 27 12:17:24 crasse /netbsd: simple_lock: locking against myself
> May 27 12:17:24 crasse /netbsd: lock: 0xe63ef654, currently at: ../../../../uvm/
> uvm_vnode.c:608
> May 27 12:17:24 crasse /netbsd: on cpu 0
> May 27 12:17:24 crasse /netbsd: last locked: ../../../../uvm/uvm_pager.c:535
> May 27 12:17:25 crasse /netbsd: last unlocked: ../../../../miscfs/genfs/genfs_vn
> ops.c:960

I take it that you're running with MULTIPROCESSOR, LOCKDEBUG, and !DDB?

I need to make this error instantly fatal if MP && LOCKDEBUG, because
continuing to run when you've detected this sort of error makes no
sense.

Without LOCKDEBUG, you deadlock against yourself in this case.