Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jul 2001 11:51:51 -0700 (PDT)
From:      Matthew Jacob <mjacob@feral.com>
To:        smp@freebsd.org
Subject:   total confusion...
Message-ID:  <Pine.BSF.4.21.0107201148331.88617-100000@beppo>

next in thread | raw e-mail | index | archive | help

I thought that by default Giant is held in calls through specfs to devices.

I still got a panic as in:

sa2:isp2:0:4:0): Retrying Command
panic: mutex Giant not owned at ../../../dev/isp/isp_freebsd.c:1753
cpuid = 0; panic
Stopped at      Debugger+0x34:  zapnot  v0,#0xf,a0      <v0=0x0,a0=0x6>
db> t
Debugger() at Debugger+0x34
panic() at panic+0x178
_mtx_assert() at _mtx_assert+0x64
isp_action() at isp_action+0x140
xpt_run_dev_sendq() at xpt_run_dev_sendq+0x2e8
xpt_action() at xpt_action+0x460
cam_periph_runccb() at cam_periph_runccb+0x70
sawritefilemarks() at sawritefilemarks+0xe0
sacheckeod() at sacheckeod+0x30
saclose() at saclose+0x204
spec_close() at spec_close+0x10c
spec_vnoperate() at spec_vnoperate+0x2c
vn_close() at vn_close+0x60
vn_closefile() at vn_closefile+0x30
fdrop() at fdrop+0xf8
closef() at closef+0xbc
fdfree() at fdfree+0x74
exit1() at exit1+0x874
sigexit() at sigexit+0x450
postsig() at postsig+0x174
userret() at userret+0x1a8
syscall() at syscall+0x7e0
XentSys() at XentSys+0x64
--- syscall (5, FreeBSD ELF, open) ---


The line in question is:

        ccb->ccb_h.sim_priv.entries[0].field = 0;
        ccb->ccb_h.sim_priv.entries[1].ptr = isp;
        if (isp->isp_state != ISP_RUNSTATE &&
            ccb->ccb_h.func_code == XPT_SCSI_IO) {
>>>             CAMLOCK_2_ISPLOCK(isp);
                isp_init(isp);



where it releases Giant and grabs the ISP lock (which also
is *wierd* because this codew shouldn't have been entered
anyway at this time).

So, I'm sorely confused at the very least.

At any rate- if anyone has a notion, let me know. I'm off to Sacramento
for the rest of the day, so I'll return to this tomorrow.

-matt


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0107201148331.88617-100000>