On 25/02/2025 01:48, yangxingui wrote: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.
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.
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?
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?