diff mbox series

scsi: pm80xx: Increase reserved tags from 8 to 128

Message ID 20241126224923.973528-1-salomondush@google.com
State New
Headers show
Series scsi: pm80xx: Increase reserved tags from 8 to 128 | expand

Commit Message

Salomon Dushimirimana Nov. 26, 2024, 10:49 p.m. UTC
From: Igor Pylypiv <ipylypiv@google.com>

Increase the number of reserved tags to prevent command processing
failures when the driver is under stress. 8 reserved tags are quickly
getting all used up leading to errors when command completions are
delayed.

The driver needs ~512 ccbs/tags for maximum I/O utilization:
16 (max disks) * 32 (max SATA queue depth) = ~512 ccbs/tags.

By reserving 128 tags the driver will still have plenty of tags/ccbs
left: 1024 (max ccbs) - 128 (reserved slot) = 896 tags/ccbs left.

Signed-off-by: Igor Pylypiv <ipylypiv@google.com>
Signed-off-by: Salomon Dushimirimana <salomondush@google.com>
---
 drivers/scsi/pm8001/pm8001_defs.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Martin K. Petersen Dec. 10, 2024, 2:35 a.m. UTC | #1
On Tue, 26 Nov 2024 22:49:23 +0000, Salomon Dushimirimana wrote:

> Increase the number of reserved tags to prevent command processing
> failures when the driver is under stress. 8 reserved tags are quickly
> getting all used up leading to errors when command completions are
> delayed.
> 
> The driver needs ~512 ccbs/tags for maximum I/O utilization:
> 16 (max disks) * 32 (max SATA queue depth) = ~512 ccbs/tags.
> 
> [...]

Applied to 6.14/scsi-queue, thanks!

[1/1] scsi: pm80xx: Increase reserved tags from 8 to 128
      https://git.kernel.org/mkp/scsi/c/b64004dbcd23
diff mbox series

Patch

diff --git a/drivers/scsi/pm8001/pm8001_defs.h b/drivers/scsi/pm8001/pm8001_defs.h
index 501b574239e8..abe6560a5817 100644
--- a/drivers/scsi/pm8001/pm8001_defs.h
+++ b/drivers/scsi/pm8001/pm8001_defs.h
@@ -90,7 +90,7 @@  enum port_type {
 #define	PM8001_MAX_PORTS	 16	/* max. possible ports */
 #define	PM8001_MAX_DEVICES	 2048	/* max supported device */
 #define	PM8001_MAX_MSIX_VEC	 64	/* max msi-x int for spcv/ve */
-#define	PM8001_RESERVE_SLOT	 8
+#define	PM8001_RESERVE_SLOT	 128
 
 #define	CONFIG_SCSI_PM8001_MAX_DMA_SG	528
 #define PM8001_MAX_DMA_SG	CONFIG_SCSI_PM8001_MAX_DMA_SG