This patch prevents driver from setting lower default speed
of 1 GB/sec, if the switch does not support Get Port Speed
Capabilities (GPSC) command. Setting this default speed results
into much lower write performance for large sequential WRITE.
This patch modifies driver to check for gpsc_supported flags and
prevents driver from issuing MBC_SET_PORT_PARAM (001Ah) to set
default speed of 1 GB/sec. If driver does not send this mailbox
command, firmware assumes maximum supported link speed and will
operate at the max speed.

Cc: [email protected]
Signed-off-by: Himanshu Madhani <[email protected]>
---
Hi Martin, 

This patch fixes lower write performance for large sequential Writes.

Please apply this to 4.18-scsi-fixes at your earliest convenience. 

Thanks,
Himanshu
---
 drivers/scsi/qla2xxx/qla_init.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 1aa3720ea2ed..b0430a280ce6 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -5007,7 +5007,8 @@ qla2x00_iidma_fcport(scsi_qla_host_t *vha, fc_port_t 
*fcport)
                return;
 
        if (fcport->fp_speed == PORT_SPEED_UNKNOWN ||
-           fcport->fp_speed > ha->link_data_rate)
+           fcport->fp_speed > ha->link_data_rate ||
+           !ha->flags.gpsc_supported)
                return;
 
        rval = qla2x00_set_idma_speed(vha, fcport->loop_id, fcport->fp_speed,
-- 
2.12.0

Reply via email to