Message ID | 1666091763-11023-1-git-send-email-john.garry@huawei.com |
---|---|
Headers | show |
Series | scsi: libsas: Use request tag in more drivers | expand |
John, > All other libsas drivers manage the tags internally. Tag management in > pm8001 and mvsas is currently using a simple bitmap, so use the > request tag when available there. With this change we still need to > manage tags for libsas "internal" commands, like SMP commands, and any > other private commands so reserve some tags for this: > - For pm8001 I went with pre-existing and unused PM8001_RESERVE_SLOT > size. The value is 8, which should be enough. It is greater than > mvsas, below, but this driver sends a lot of other private commands to > HW. > - For mvsas I went with 4, which still should be enough. > > isci and aic9xx have elaborate tag alloc schemes, so I'm not going to > bother changing them, especially since I have no HW to test with. > > Helper sas_task_find_rq() is added to get the request and associated > tag per sas_task when it is available. Applied to 6.2/scsi-staging, thanks!
On Tue, 18 Oct 2022 19:15:56 +0800, John Garry wrote: > Currently hisi_sas is the only libsas driver which uses the request tag > for per-HW IO tag. > > All other libsas drivers manage the tags internally. Tag management in > pm8001 and mvsas is currently using a simple bitmap, so use the request > tag when available there. With this change we still need to manage tags > for libsas "internal" commands, like SMP commands, and any other > private commands so reserve some tags for this: > - For pm8001 I went with pre-existing and unused PM8001_RESERVE_SLOT size. > The value is 8, which should be enough. It is greater than mvsas, below, > but this driver sends a lot of other private commands to HW. > - For mvsas I went with 4, which still should be enough. > > [...] Applied to 6.2/scsi-queue, thanks! [1/7] scsi: libsas: Add sas_task_find_rq() https://git.kernel.org/mkp/scsi/c/a9ee3f840646 [2/7] scsi: hisi_sas: Use sas_task_find_rq() https://git.kernel.org/mkp/scsi/c/295fd2330a91 [3/7] scsi: hisi_sas: Put reserved tags in lower region of tagset https://git.kernel.org/mkp/scsi/c/f7d190a94e35 [4/7] scsi: pm8001: Remove pm8001_tag_init() https://git.kernel.org/mkp/scsi/c/1baa70d36403 [5/7] scsi: pm8001: Use sas_task_find_rq() for tagging https://git.kernel.org/mkp/scsi/c/6472cfb418a0 [6/7] scsi: mvsas: Delete mvs_tag_init() https://git.kernel.org/mkp/scsi/c/ffc9f9bf3f14 [7/7] scsi: mvsas: Use sas_task_find_rq() for tagging https://git.kernel.org/mkp/scsi/c/2acf97f199f9