RE: Sleeping on "isp_mboxwaiting" with the following non-sleepablelocks held:

From: Matthew Jacob <mjacob_at_feral.com>
Date: Tue, 21 Oct 2003 14:30:21 -0700
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 ---

Kris
Received 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