diff options
author | Brian King <brking@linux.vnet.ibm.com> | 2012-03-15 03:20:10 +0100 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-03-28 16:04:47 +0200 |
commit | 89aad428317322044673cd9a3e1685a83abcba98 (patch) | |
tree | 44421af5c1c1bd61eee0cb8fb5f9b6f09c7ff2d1 /drivers/scsi/ipr.h | |
parent | [SCSI] ipr: Remove unnecessary memory barriers (diff) | |
download | linux-89aad428317322044673cd9a3e1685a83abcba98.tar.xz linux-89aad428317322044673cd9a3e1685a83abcba98.zip |
[SCSI] ipr: Increase max concurrent oustanding commands
Increase the total number of max concurrent outstanding commands
for the most recent family of adapters in order to improve overall
adapter performance.
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/ipr.h')
-rw-r--r-- | drivers/scsi/ipr.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h index 40cbee72b83c..a79de2aab469 100644 --- a/drivers/scsi/ipr.h +++ b/drivers/scsi/ipr.h @@ -53,7 +53,7 @@ * IPR_NUM_BASE_CMD_BLKS: This defines the maximum number of * ops the mid-layer can send to the adapter. */ -#define IPR_NUM_BASE_CMD_BLKS 100 +#define IPR_NUM_BASE_CMD_BLKS (ioa_cfg->max_cmds) #define PCI_DEVICE_ID_IBM_OBSIDIAN_E 0x0339 @@ -153,7 +153,7 @@ #define IPR_NUM_INTERNAL_CMD_BLKS (IPR_NUM_HCAMS + \ ((IPR_NUM_RESET_RELOAD_RETRIES + 1) * 2) + 4) -#define IPR_MAX_COMMANDS IPR_NUM_BASE_CMD_BLKS +#define IPR_MAX_COMMANDS 100 #define IPR_NUM_CMD_BLKS (IPR_NUM_BASE_CMD_BLKS + \ IPR_NUM_INTERNAL_CMD_BLKS) @@ -1305,6 +1305,7 @@ struct ipr_interrupts { struct ipr_chip_cfg_t { u32 mailbox; + u16 max_cmds; u8 cache_line_size; u8 clear_isr; struct ipr_interrupt_offsets regs; @@ -1503,8 +1504,9 @@ struct ipr_ioa_cfg { struct ata_host ata_host; char ipr_cmd_label[8]; #define IPR_CMD_LABEL "ipr_cmd" - struct ipr_cmnd *ipr_cmnd_list[IPR_NUM_CMD_BLKS]; - dma_addr_t ipr_cmnd_list_dma[IPR_NUM_CMD_BLKS]; + u32 max_cmds; + struct ipr_cmnd **ipr_cmnd_list; + dma_addr_t *ipr_cmnd_list_dma; }; /* struct ipr_ioa_cfg */ struct ipr_cmnd { |