Re: Issue in sas_ex_discover_dev() for multiple level of SAS expanders in a domain

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 30/04/2024 15:22, Li, Eric (Honggang) wrote:
I suppose you have got the log file I attached.
If not, please let me know.
Any update about this?

Eric LI

So if you revert a1b6fb947f923, but then remove the call to sas_ex_join_wide_port() re-added in that revert, is it ok? I am just wondering are we just missing the call to set phy_state = PHY_DEVICE_DISCOVERED after v5.3?

Thanks,
John



Internal Use - Confidential
-----Original Message-----
From: Li, Eric (Honggang)
Sent: Thursday, April 25, 2024 1:04 PM
To: Jason Yan <yanaijie@xxxxxxxxxx>; John Garry <john.g.garry@xxxxxxxxxx>;
james.bottomley@xxxxxxxxxxxxxxxxxxxxx; Martin K . Petersen
<martin.petersen@xxxxxxxxxx>
Cc: linux-scsi@xxxxxxxxxxxxxxx
Subject: RE: Issue in sas_ex_discover_dev() for multiple level of SAS expanders in a
domain

-----Original Message-----
From: Jason Yan <yanaijie@xxxxxxxxxx>
Sent: Thursday, April 25, 2024 10:58 AM
To: John Garry <john.g.garry@xxxxxxxxxx>; Li, Eric (Honggang)
<Eric.H.Li@xxxxxxxx>; james.bottomley@xxxxxxxxxxxxxxxxxxxxx; Martin K .
Petersen <martin.petersen@xxxxxxxxxx>
Cc: linux-scsi@xxxxxxxxxxxxxxx
Subject: Re: Issue in sas_ex_discover_dev() for multiple level of SAS
expanders in a domain


[EXTERNAL EMAIL]

On 2024/4/24 18:46, John Garry wrote:
On 24/04/2024 09:59, Li, Eric (Honggang) wrote:
Hi,

There is an issue in the function sas_ex_discover_dev() when I have
multiple SAS expanders chained under one SAS port on SAS controller.

I think typically we can't and so don't test such a setup.

Eric,

I also don't understand why you need such a setup. Can you explain more
details of your topology?

I believe this is common setup if you want to support large number of drives under
one SAS port of SAS controller.




In this function, we first check whether the PHY’s
attached_sas_address is already present in the SAS domain, and then
check if this PHY belongs to an existing port on this SAS expander.
I think this has an issue if this SAS expander use a wide port
connecting a downstream SAS expander.
This is because if the PHY belongs to an existing port on this SAS
expander, the attached SAS address of this port must already be
present in the domain and it results in disabling that port.
I don’t think that is what we expect.

In old release (4.x), at the end of this function, it would make
addition sas_ex_join_wide_port() call for any possibly PHYs that
could be added into the SAS port.
This will make subsequent PHYs (other than the first PHY of that
port) being marked to DISCOVERED so that this function would not be
invoked on those subsequent PHYs (in that port).
But potential question here is we didn’t configure the per-PHY
routing table for those PHYs.
As I don’t have such SAS expander on hand, I am not sure what’s
impact (maybe just performance/bandwidth impact).
But at least, it didn’t impact the functionality of that port.

But in v5.3 or later release, that part of code was removed (in the
commit a1b6fb947f923).

Jason, can you please check this?

The removed code is only for races before we serialize the event
processing. All PHYs will still be scanned one by one and add to the
wide port if they have the same address. So are you encountering a real issue? If
so, can you share the full log?

Yes. We did hit this issue when we upgrade Linux kernel from 4.19.236 to 5.14.21.
Full logs attached.


Thanks,
Jason

祝一切顺利!


Thanks!

And this caused this problem occurred (downstream port of that SAS
expander was disabled and all downstream SAS devices were removed
from the domain).

Regards.
Eric Li

SPE, DellEMC
3/F KIC 1, 252# Songhu Road, YangPu District, SHANGHAI
+86-21-6036-4384


Internal Use - Confidential

.





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux