diff options
author | Scott Teel <scott.teel@microsemi.com> | 2017-05-04 17:51:36 -0500 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2017-06-12 20:48:01 -0400 |
commit | 3d38f00c4107cc007056db9f4ab14ecb17ed193f (patch) | |
tree | c5b145ec38a771b42a677027361420dd2dd4ddf5 /drivers/scsi/hpsa.h | |
parent | 5086435e662c7b6ada6cb5f48a1215fc6f612153 (diff) | |
download | linux-3d38f00c4107cc007056db9f4ab14ecb17ed193f.tar.gz linux-3d38f00c4107cc007056db9f4ab14ecb17ed193f.tar.bz2 linux-3d38f00c4107cc007056db9f4ab14ecb17ed193f.zip |
scsi: hpsa: separate monitor events from rescan worker
create new worker thread to monitor controller events
- both the rescan and event monitor workers can cause a rescan to occur
however for multipath we have found that we need to respond faster
than the normal scheduled rescan interval for path fail-overs.
- getting controller events only involves reading a register, but the
rescan worker can obtain an updated LUN list when there is a PTRAID
device present.
- move common code to a separate function.
advantages:
- detect controller events more frequently.
- leave rescan thread interval at 30 seconds.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
Reviewed-by: Scott Teel <scott.teel@microsemi.com>
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
Signed-off-by: Don Brace <don.brace@microsemi.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/hpsa.h')
-rw-r--r-- | drivers/scsi/hpsa.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/hpsa.h b/drivers/scsi/hpsa.h index 61dd54aa4d5d..c9c4927f5d0e 100644 --- a/drivers/scsi/hpsa.h +++ b/drivers/scsi/hpsa.h @@ -245,6 +245,7 @@ struct ctlr_info { u32 __percpu *lockup_detected; struct delayed_work monitor_ctlr_work; struct delayed_work rescan_ctlr_work; + struct delayed_work event_monitor_work; int remove_in_progress; /* Address of h->q[x] is passed to intr handler to know which queue */ u8 q[MAX_REPLY_QUEUES]; |