[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <32b0f929-4534-450b-b19c-d3404db63202@huawei.com>
Date: Fri, 30 Sep 2022 12:05:59 +0100
From: John Garry <john.garry@...wei.com>
To: Jinpu Wang <jinpu.wang@...os.com>, <damien.lemoal@....com>
CC: <jejb@...ux.ibm.com>, <martin.petersen@...cle.com>, <hare@...e.de>,
<linux-scsi@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linuxarm@...wei.com>, <ipylypiv@...gle.com>,
<changyuanl@...gle.com>, <hch@....de>, <yanaijie@...wei.com>
Subject: Re: [PATCH v2 4/6] scsi: pm8001: Use sas_task_find_rq() for tagging
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):
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...
Powered by blists - more mailing lists