scsi: qla2xxx: Disable ATIO interrupt coalesce for quad port ISP27XX
[ Upstream commit53661ded24] This partially reverts commitd2b292c3f6("scsi: qla2xxx: Enable ATIO interrupt handshake for ISP27XX") For some workloads where the host sends a batch of commands and then pauses, ATIO interrupt coalesce can cause some incoming ATIO entries to be ignored for extended periods of time, resulting in slow performance, timeouts, and aborted commands. Disable interrupt coalesce and re-enable the dedicated ATIO MSI-X interrupt. Link: https://lore.kernel.org/r/97dcf365-89ff-014d-a3e5-1404c6af511c@cybernetics.com Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Reviewed-by: Nilesh Javali <njavali@marvell.com> Signed-off-by: Tony Battersby <tonyb@cybernetics.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
a14f1799ce
commit
004e26ef05
1 changed files with 2 additions and 8 deletions
|
|
@ -6817,14 +6817,8 @@ qlt_24xx_config_rings(struct scsi_qla_host *vha)
|
|||
|
||||
if (ha->flags.msix_enabled) {
|
||||
if (IS_QLA83XX(ha) || IS_QLA27XX(ha) || IS_QLA28XX(ha)) {
|
||||
if (IS_QLA2071(ha)) {
|
||||
/* 4 ports Baker: Enable Interrupt Handshake */
|
||||
icb->msix_atio = 0;
|
||||
icb->firmware_options_2 |= cpu_to_le32(BIT_26);
|
||||
} else {
|
||||
icb->msix_atio = cpu_to_le16(msix->entry);
|
||||
icb->firmware_options_2 &= cpu_to_le32(~BIT_26);
|
||||
}
|
||||
icb->msix_atio = cpu_to_le16(msix->entry);
|
||||
icb->firmware_options_2 &= cpu_to_le32(~BIT_26);
|
||||
ql_dbg(ql_dbg_init, vha, 0xf072,
|
||||
"Registering ICB vector 0x%x for atio que.\n",
|
||||
msix->entry);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue