lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <90217102-8767-b077-2615-1a5e41b58660@oracle.com>
Date:   Wed, 2 Nov 2022 11:55:31 +0000
From:   John Garry <john.g.garry@...cle.com>
To:     Yihang Li <liyihang9@...wei.com>, jejb@...ux.ibm.com,
        martin.petersen@...cle.com
Cc:     bvanassche@....org, chenxiang66@...ilicon.com,
        daejun7.park@...sung.com, damien.lemoal@...nsource.wdc.com,
        yanaijie@...wei.com, duoming@....edu.cn,
        linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
        prime.zeng@...ilicon.com, yangxingui@...wei.com,
        linuxarm@...wei.com
Subject: Re: [PATCH] scsi: libsas: Check and update the link rate during
 discovery

On 02/11/2022 10:05, Yihang Li wrote:

note: This is not discovery in which this erroneous condition occurs. 
Discovery is the phase in which the device is found initially.

>     +----------+              +----------+
>     |          |              |          |
>     |          |--- 12.0 G ---|          |--- 12.0 G --- SAS  disk
>     |initiator |              | Expander |
>     | device   |--- 12.0 G ---|          |--- 12.0 G --- SAS  disk
>     |          |              |          |
>     |          |--- 12.0 G ---|          |--- 6.0 G --- SATA disk
>     |          |              |          |
>     |      phy0|--- 12.0 G ---|          |--- 6.0 G --- SATA disk
>     |          |              |          |
>     +----------+              +----------+
> 
> In the scenario where the expander device is connected to a wide port,
> the preceding figure shows the link topology after initialization.
> All physical PHYs negotiate connections at the rate of 12 Gbit, and
> the expander SATA PHY negotiates connections at the rate of 6 Gbit.
> 
> We found that when the FIO was running, if phy0 was link down due to link
> instability, and the link connection was reestablished after a period of
> time. During the physical link disconnection, the physical PHY gradually
> decreases the link rate, attempts to renegotiate the link rate and
> establish the connection. This is an HW behavior. When the physical PHY
> try to re-establish the link at a link rate of 3 Gbit and the physical
> link is successfully established, the negotiated link rate is 3 Gbit.
> Like this:
> 
>     +----------+              +----------+
>     |          |              |          |
>     |          |--- 12.0 G ---|          |--- 12.0 G --- SAS  disk
>     |initiator |              | Expander |
>     | device   |--- 12.0 G ---|          |--- 12.0 G --- SAS  disk
>     |          |              |          |
>     |          |--- 12.0 G ---|          |--- 6.0 G --- SATA disk
>     |          |              |          |
>     |      phy0|--- 3.0 G ----|          |--- 6.0 G --- SATA disk
>     |          |              |          |
>     +----------+              +----------+
> 
> SATA disk which connected to expander PHY maybe reject IO request due to
> the connection setup error (OPEN_REJECT-CONNECTION RATE NOT SUPPORTED).
> The log as follows:
> 
> [175712.419423] hisi_sas_v3_hw 0000:74:02.0: erroneous completion iptt=2985 task=00000000268357f1 dev id=10 exp 0x500e004aaaaaaa1f phy9 addr=500e004aaaaaaa09 CQ hdr: 0x102b 0xa0ba9 0x1000 0x20000 Error info: 0x200 0x0 0x0 0x0
> 
> After analysis, it is concluded that: when one of the physical links
> connected on the wide port is re-established, the link rate of the port
> and expander device and the expander SATA PHY are not updated. As a
> result, the expander PHY attached to a SATA PHY is using link rate
> (6.0 Gbit) greater than the physical PHY link rate (3.0 Gbit).

Please mention the SAS spec section in which min pathway is described.

> 
> Therefore, add function sas_check_port_linkrate() to check whether the
> link rate of physical PHY which is connected to the wide port changes
> after the phy up occur, if the link rate of the newly established
> physical phy is lower than the link rate of the port, a smaller link rate
> value is transmitted to port->linkrate.
> 
> Use the sas_update_linkrate_root_expander() function to update the root
> expander link rate. Traverse all expanders connected to the port, check
> and update expander PHYs that need to be updated and triggers revalidation.

So are you saying that you want to lower the linkrate on all pathways to 
the SATA disk? In your example, that would be 3Gbps. If so, won't that 
affect the end-to-end linkrate of all other devices attached (and lower 
throughput drastically)?



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ