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>