Print this page
XXXX introduce drv_sectohz
*** 992,1003 ****
dip, 0, "scsi-watchdog-tick", DEFAULT_WD_TICK);
if (fas_scsi_watchdog_tick != DEFAULT_WD_TICK) {
fas_log(fas, CE_NOTE, "?scsi-watchdog-tick=%d\n",
fas_scsi_watchdog_tick);
}
! fas_tick = drv_usectohz((clock_t)
! fas_scsi_watchdog_tick * 1000000);
IPRINTF2("fas scsi watchdog tick=%x, fas_tick=%lx\n",
fas_scsi_watchdog_tick, fas_tick);
if (fas_timeout_id == 0) {
fas_timeout_id = timeout(fas_watch, NULL, fas_tick);
fas_timeout_initted = 1;
--- 992,1002 ----
dip, 0, "scsi-watchdog-tick", DEFAULT_WD_TICK);
if (fas_scsi_watchdog_tick != DEFAULT_WD_TICK) {
fas_log(fas, CE_NOTE, "?scsi-watchdog-tick=%d\n",
fas_scsi_watchdog_tick);
}
! fas_tick = drv_sectohz((clock_t)fas_scsi_watchdog_tick);
IPRINTF2("fas scsi watchdog tick=%x, fas_tick=%lx\n",
fas_scsi_watchdog_tick, fas_tick);
if (fas_timeout_id == 0) {
fas_timeout_id = timeout(fas_watch, NULL, fas_tick);
fas_timeout_initted = 1;
*** 1363,1373 ****
fas->f_ncmds, fas->f_ndisc, fas->f_softstate);
fas_set_throttles(fas, 0, N_SLOTS, HOLD_THROTTLE);
if (fas_check_outstanding(fas)) {
fas->f_softstate |= FAS_SS_DRAINING;
fas->f_quiesce_timeid = timeout(fas_ncmds_checkdrain,
! fas, (FAS_QUIESCE_TIMEOUT * drv_usectohz(1000000)));
if (cv_wait_sig(FAS_CV(fas), FAS_MUTEX(fas)) == 0) {
/*
* quiesce has been interrupted.
*/
IPRINTF("fas_quiesce: abort QUIESCE\n");
--- 1362,1372 ----
fas->f_ncmds, fas->f_ndisc, fas->f_softstate);
fas_set_throttles(fas, 0, N_SLOTS, HOLD_THROTTLE);
if (fas_check_outstanding(fas)) {
fas->f_softstate |= FAS_SS_DRAINING;
fas->f_quiesce_timeid = timeout(fas_ncmds_checkdrain,
! fas, drv_sectohz(FAS_QUIESCE_TIMEOUT));
if (cv_wait_sig(FAS_CV(fas), FAS_MUTEX(fas)) == 0) {
/*
* quiesce has been interrupted.
*/
IPRINTF("fas_quiesce: abort QUIESCE\n");
*** 1434,1444 ****
* XXX shouldn't be necessary
*/
fas_set_throttles(fas, 0, N_SLOTS, HOLD_THROTTLE);
IPRINTF("fas_drain: rescheduling timeout\n");
fas->f_quiesce_timeid = timeout(fas_ncmds_checkdrain,
! fas, (FAS_QUIESCE_TIMEOUT * drv_usectohz(1000000)));
}
}
mutex_exit(FAS_MUTEX(fas));
}
--- 1433,1443 ----
* XXX shouldn't be necessary
*/
fas_set_throttles(fas, 0, N_SLOTS, HOLD_THROTTLE);
IPRINTF("fas_drain: rescheduling timeout\n");
fas->f_quiesce_timeid = timeout(fas_ncmds_checkdrain,
! fas, drv_sectohz(FAS_QUIESCE_TIMEOUT));
}
}
mutex_exit(FAS_MUTEX(fas));
}