]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: lpfc: correct oversubscription of nvme io requests for an adapter
authorJames Smart <jsmart2021@gmail.com>
Fri, 25 May 2018 04:08:58 +0000 (21:08 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 29 May 2018 02:40:33 +0000 (22:40 -0400)
commitcd02579917ed8872a88f84fd48117b1508b03824
tree2cd682f0d56a385908cca3285dd3021e1189344e
parent53cb2dc091993a7a1aaf73c3627d9f59c164f6ac
scsi: lpfc: correct oversubscription of nvme io requests for an adapter

Under large configurations, the driver would start to log message 6065 -
NVME out of buffers (exchanges).

The driver is using the ndlp cmd_qdepth value when determining the max
outstanding ios for an adapter. This value, by default, is set to 65536,
which exceeds the maximum exchange counts supported on an adapter. The ndlp
cmd_qdepth has no relevance and outstanding io count should be capped at
the max exchange count with IO requests beyond that level getting bounced
back with an EBUSY status so that they are retried by the block layer.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_attr.c
drivers/scsi/lpfc/lpfc_nportdisc.c
drivers/scsi/lpfc/lpfc_nvme.c