Messages in this thread | | | Date | Fri, 30 Sep 2022 11:20:46 +0100 | Subject | Re: [PATCH v2 4/6] scsi: pm8001: Use sas_task_find_rq() for tagging | From | John Garry <> |
| |
On 30/09/2022 10:17, Jinpu Wang wrote: > On Fri, Sep 30, 2022 at 11:03 AM John Garry<john.garry@huawei.com> wrote: >> The request associated with a scsi command coming from the block layer >> has a unique tag, so use that when possible for getting a CCB. >> >> Unfortunately we don't support reserved commands in the SCSI midlayer yet, >> so in the interim continue to manage those tags internally (along with >> tags for private commands). >> >> Signed-off-by: John Garry<john.garry@huawei.com> > Reviewed-by: Jack Wang<jinpu.wang@ionos.com> > nice, I would expect this can improve performance, do you have numbers?
Unfortunately my system hangs after I run for an appreciable period of time. I normally get around it by turning on much heavy debug options, but that would not be much use for performance testing.
But we did get considerable performance improvement for hisi_sas when we made the equivalent change.
Damien, if you are interested then sharing any results would be great.
BTW, I do notice that we still have this global lock in delivery path which should be removed at some stage:
int mvs_queue_command(struct sas_task *task, gfp_t gfp_flags) { ...
spin_lock_irqsave(&mvi->lock, flags); rc = mvs_task_prep(task, mvi, is_tmf, tmf, &pass); ... spin_unlock_irqrestore(&mvi->lock, flags); }
That really will affect performance...
Thanks, John
| |