]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: pm80xx: Increase reserved tags from 8 to 128
authorIgor Pylypiv <ipylypiv@google.com>
Tue, 26 Nov 2024 22:49:23 +0000 (22:49 +0000)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 4 Dec 2024 19:46:58 +0000 (14:46 -0500)
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>
Link: https://lore.kernel.org/r/20241126224923.973528-1-salomondush@google.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/pm8001/pm8001_defs.h

index 7871e29a820a09fcf0e7e04fbeb0629be100fdb4..4e19d61dffbbb321f5395f510837570e61250890 100644 (file)
@@ -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 PM8001_SECTOR_SIZE     512
 #define PM8001_PAGE_SIZE_4K    4096