summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid/megaraid_sas.h
diff options
context:
space:
mode:
authorbo yang <bo.yang@lsi.com>2007-11-09 04:40:16 -0500
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-01-11 18:22:44 -0600
commitad84db2e2e1817bb8a29e7c9108eb66bf023d99f (patch)
tree3dad9cd19c3bc2c9c6e98612c050a9e8343c3f65 /drivers/scsi/megaraid/megaraid_sas.h
parent7343eb6570ae3b299e7b5185b139d8335ef60e9b (diff)
downloadblackbird-op-linux-ad84db2e2e1817bb8a29e7c9108eb66bf023d99f.tar.gz
blackbird-op-linux-ad84db2e2e1817bb8a29e7c9108eb66bf023d99f.zip
[SCSI] megaraid_sas: support for poll_mode_io (reduced interrupt)
Added module parameter "poll_mode_io" to support for "polling" (reduced interrupt operation). In this mode, IO completion interrupts are delayed. At the end of initiating IOs, the driver schedules for cmd completion if there are pending cmds. A timer-based interrupt has also been added to prevent IO completion from being delayed indefinitely in the case that no new IOs are initiated. Some formatting issues in resume, suspend comment block also corrected Signed-off-by: Bo Yang <bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_sas.h')
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas.h b/drivers/scsi/megaraid/megaraid_sas.h
index c3575a304c6a..dcc66fc9c2cb 100644
--- a/drivers/scsi/megaraid/megaraid_sas.h
+++ b/drivers/scsi/megaraid/megaraid_sas.h
@@ -572,6 +572,7 @@ struct megasas_ctrl_info {
#define MFI_OB_INTR_STATUS_MASK 0x00000002
#define MFI_POLL_TIMEOUT_SECS 60
+#define MEGASAS_COMPLETION_TIMER_INTERVAL (HZ/10)
#define MFI_REPLY_1078_MESSAGE_INTERRUPT 0x80000000
@@ -1111,6 +1112,8 @@ struct megasas_instance {
u8 flag;
unsigned long last_time;
+
+ struct timer_list io_completion_timer;
};
#define MEGASAS_IS_LOGICAL(scp) \
OpenPOWER on IntegriCloud