So? How about some details and context? I thought was told that being able to use locks in HBAs is fine. I had them on for a while, and then had them off. I turned them on again over a month ago. I'm somewhat surprised to see that a problem shows up now. *I* do the right thing with locks, IMO. I hold them in my module when I enter and release them if/when I leave. Seeing a lock held by some random caller causing me to blow up to me seems to be a hole in the architecture, but I'd be the first to admit that I hardly am up to date on what the rules of the road are now so such an opinion is ill-informed. Comment out ISP_SMPLOCK in isp_freebsd.h. If the problem goes away, we'll make the change back again. -matt p.s.: you have *way* more issues here than locking- you've a bad disk. Anyway, isn't alpha desupported? -----Original Message----- From: Kris Kennaway [mailto:kris_at_obsecurity.org] Sent: Tuesday, October 21, 2003 9:06 AM To: mjacob_at_FreeBSD.org Cc: alpha_at_FreeBSD.org; current_at_FreeBSD.org Subject: Sleeping on "isp_mboxwaiting" with the following non-sleepablelocks held: This happened to me just now on alpha: (da0:isp0:0:0:0): Retrying Command (per Sense Data) (da0:isp0:0:0:0): READ(06). CDB: 8 5 f 30 10 0 (da0:isp0:0:0:0): CAM Status: SCSI Status Error (da0:isp0:0:0:0): SCSI Status: Check Condition (da0:isp0:0:0:0): MEDIUM ERROR info:50f30 asc:11,0 (da0:isp0:0:0:0): Unrecovered read error field replaceable unit: e4 actual retry count: 257 (da0:isp0:0:0:0): Retrying Command (per Sense Data) swap_pager: indefinite wait buffer: device: da0b, blkno: 331568, size: 8192 (da0:isp0:0:0:0): READ(06). CDB: 8 5 f 30 10 0 (da0:isp0:0:0:0): CAM Status: SCSI Status Error (da0:isp0:0:0:0): SCSI Status: Check Condition (da0:isp0:0:0:0): MEDIUM ERROR info:50f30 asc:11,0 (da0:isp0:0:0:0): Unrecovered read error field replaceable unit: e4 actual retry count: 257 (da0:isp0:0:0:0): Retries Exhausted swap_pager: I/O error - pagein failed; blkno 331568,size 8192, error 5 vm_fault: pager read error, pid 90537 (aspell) Sleeping on "isp_mboxwaiting" with the following non-sleepablelocks held: exclusive sleep mutex g_xdown r = 0 (0xfffffe0006bfdc78) locked _at_ /a/asami/portbuild/alpha/src-client/sys/geom/geom_io.c:345 witness_warn Stopped at Debugger+0x38: zapnot v0,#0xf,v0 <v0=0x0> db> trace Debugger() at Debugger+0x38 witness_warn() at witness_warn+0x284 msleep() at msleep+0xa8 isp_mbox_wait_complete() at isp_mbox_wait_complete+0x94 isp_mboxcmd() at isp_mboxcmd+0x258 isp_update_bus() at isp_update_bus+0x2f0 isp_update() at isp_update+0x54 isp_start() at isp_start+0x208 isp_action() at isp_action+0x1bc xpt_run_dev_sendq() at xpt_run_dev_sendq+0x23c xpt_action() at xpt_action+0x2a0 dastart() at dastart+0x220 xpt_run_dev_allocq() at xpt_run_dev_allocq+0xf0 xpt_schedule() at xpt_schedule+0xc0 dastrategy() at dastrategy+0x70 g_disk_start() at g_disk_start+0x1ec g_io_schedule_down() at g_io_schedule_down+0x234 g_down_procbody() at g_down_procbody+0x5c fork_exit() at fork_exit+0x100 exception_return() at exception_return --- root of call graph --- KrisReceived on Tue Oct 21 2003 - 12:38:04 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:26 UTC