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