Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Aug 2002 11:17:00 -0700 (PDT)
From:      Matthew Jacob <mjacob@feral.com>
To:        hackers@freebsd.org
Subject:   question about Giant && Rebooting
Message-ID:  <Pine.BSF.4.21.0208151114490.27617-100000@beppo>

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

I'm getting:

syncing disks... 6 
done
Uptime: 1d1h5m30s
lock order reversal
 1st 0xc0edd008 shutdown_post_sync (shutdown_post_sync) @
/usr/src/sys/kern/kern_shutdown.c:341
 2nd 0xc04759e0 Giant (Giant) @ /usr/src/sys/dev/isp/isp_freebsd.c:2067

but the code in question is:

        CAMLOCK_2_ISPLOCK(isp);
        error = isp_start((XS_T *) ccb);
        switch (error) {
        case CMD_QUEUED:
                ccb->ccb_h.status |= CAM_SIM_QUEUED;
                if (ccb->ccb_h.timeout != CAM_TIME_INFINITY) {
                        u_int64_t ticks = (u_int64_t) hz;
                        if (ccb->ccb_h.timeout == CAM_TIME_DEFAULT)
                                ticks = 60 * 1000 * ticks;
                        else
                                ticks = ccb->ccb_h.timeout * hz;
                        ticks = ((ticks + 999) / 1000) + hz + hz;
                        if (ticks >= 0x80000000) {
                                isp_prt(isp, ISP_LOGERR,
                                    "timeout overflow");
                                ticks = 0x7fffffff;
                        }
                        ccb->ccb_h.timeout_ch = timeout(isp_watchdog,
                            (caddr_t)ccb, (int)ticks);
                } else {
                        callout_handle_init(&ccb->ccb_h.timeout_ch);
                }
                ISPLOCK_2_CAMLOCK(isp); <<<<<<<<<<<<<<<<<<<<<<<<<<<<<----


Where CAMLOCK_2_ISPLOCK supposedly drops Giant so it can pick up the
ISP mutex and ISPLOCK_2_CAMLOCK drops the isp lock so it can reacquire
Giant- this is because CAM is covered by Giant.

So- why the whine?



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" 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.0208151114490.27617-100000>