RE: [PATCH v3 1/3] scsi: hisi_sas: Enable force phy when SATA disk directly connected

John Garry
2025-03-12T11:19:59Z

I'll have a look when I get a chance

-----Original Message-----
From: yangxingui <yangxingui@huawei.com>
Sent: Wednesday, March 12, 2025 9:45 AM
To: John Garry <john.g.garry@oracle.com>; liyihang9@huawei.com; yanaijie@huawei.com
Cc: jejb@linux.ibm.com; Martin Petersen <martin.petersen@oracle.com>; linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; linuxarm@huawei.com; prime.zeng@huawei.com; liuyonglong@huawei.com; kangfenglong@huawei.com; liyangyang20@huawei.com; f.fangjian@huawei.com; xiabing14@h-partners.com
Subject: Re: [PATCH v3 1/3] scsi: hisi_sas: Enable force phy when SATA disk directly connected

Hi, John

On 2025/3/11 1:45, John Garry wrote:
> On 10/03/2025 13:09, yangxingui wrote:
>> On 2025/2/25 16:19, John Garry wrote:
>>> On 25/02/2025 01:48, yangxingui wrote:
>>>>>
>>>>>
>>>>> pm8001 sends sas_notify_port_event(sas_phy, PORTE_LINK_RESET_ERR,)
>>>>> link reset errors - can you consider doing that in
>>>>> hisi_sas_update_port_id() when you find an inconstant port id?
>>>> Currently during phyup, the hw port id may change, and the
>>>> corresponding hisi_sas_port.id and the port id in itct are not
>>>> updated synchronously. The problem caused is not a link error, so we
>>>> don't need deform port, just update the port id when phyup.
>>>
>>> Sure, but I am just trying to keep this simple. If you deform and
>>> reform the port - and so lose and find the disk (which does the itct
>>> config) - will that solve the problem?
>>>
>> We found that we need to perform lose and find for all devices on the
>> port including the local phy and the remote phy. This process still
>> requires traversing the phy information corresponding to all devices
>> to reset and it is also necessary to consider that there is a race
>> between device removal and the current process.  it looks similar to
>> solution of update port id directly. And there will be the problem
>> mentioned above. e.g, during error handling, the recovery state will
>> last for more than 15 seconds, affecting the performance of other
>> disks on the same host.
>
> How do you even detect the port id inconsistency for the device attached
> at the remote phy? For this series, you could detect it at the phy
> up/down handler for the directly attached device - how would it be
> triggered for the remote phy?

The current problem we are facing only involves directly attached
devices. a new version based on your suggestion.

Thanks,
Xingui