Re: [PATCH v2 4/6] scsi: pm8001: Use sas_task_find_rq() for tagging

From: Jinpu Wang
Date: Tue Oct 04 2022 - 00:51:56 EST


On Fri, Sep 30, 2022 at 1:05 PM John Garry <john.garry@xxxxxxxxxx> wrote:
>
> On 30/09/2022 11:20, John Garry wrote:
> > 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);
> > }
> >
>
> oops... that's mvsas. But pm8001 does still use a big lock (which we
> should get rid off):
Yes, would be great to get rid of the per ha lock.
>
> int pm8001_queue_command(struct sas_task *task, gfp_t gfp_flags)
> {
> ...
> pm8001_dbg(pm8001_ha, IO, "pm8001_task_exec device\n");
>
> spin_lock_irqsave(&pm8001_ha->lock, flags);
>
>
> Thanks,
> John
>
> > That really will affect performance...
>