Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: pm80xx: Increase reserved tags from 8 to 128

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>

authored by

Igor Pylypiv and committed by
Martin K. Petersen
b64004db 4c567a9d

+1 -1
+1 -1
drivers/scsi/pm8001/pm8001_defs.h
··· 90 90 #define PM8001_MAX_PORTS 16 /* max. possible ports */ 91 91 #define PM8001_MAX_DEVICES 2048 /* max supported device */ 92 92 #define PM8001_MAX_MSIX_VEC 64 /* max msi-x int for spcv/ve */ 93 - #define PM8001_RESERVE_SLOT 8 93 + #define PM8001_RESERVE_SLOT 128 94 94 95 95 #define PM8001_SECTOR_SIZE 512 96 96 #define PM8001_PAGE_SIZE_4K 4096