Re: [PATCH] libata: fix read log timeout value

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

 



On 2021/11/08 18:47, Geert Uytterhoeven wrote:
> Hi Damien,
> 
> On Fri, Nov 5, 2021 at 8:31 AM Damien Le Moal
> <damien.lemoal@xxxxxxxxxxxxxxxxxx> wrote:
>> Some ATA drives are very slow to respond to READ_LOG_EXT and
>> READ_LOG_DMA_EXT commands issued from ata_dev_configure() when the
>> device is revalidated right after resuming a system or inserting the
>> ATA adapter driver (e.g. ahci). The default 5s timeout
>> (ATA_EH_CMD_DFL_TIMEOUT) used for these commands is too short, causing
>> errors during the device configuration. Ex:
>>
>> ...
>> ata9: SATA max UDMA/133 abar m524288@0x9d200000 port 0x9d200400 irq 209
>> ata9: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
>> ata9.00: ATA-9: XXX  XXXXXXXXXXXXXXX, XXXXXXXX, max UDMA/133
>> ata9.00: qc timeout (cmd 0x2f)
>> ata9.00: Read log page 0x00 failed, Emask 0x4
>> ata9.00: Read log page 0x00 failed, Emask 0x40
>> ata9.00: NCQ Send/Recv Log not supported
>> ata9.00: Read log page 0x08 failed, Emask 0x40
>> ata9.00: 27344764928 sectors, multi 16: LBA48 NCQ (depth 32), AA
>> ata9.00: Read log page 0x00 failed, Emask 0x40
>> ata9.00: ATA Identify Device Log not supported
>> ata9.00: failed to set xfermode (err_mask=0x40)
>> ata9: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
>> ata9.00: configured for UDMA/133
>> ...
>>
>> The timeoutout error causes a soft reset of the drive link, followed in
> 
> timeout
> 
>> most cases by a successful revalidation as that give enough time to the
>> drive to become fully ready to quickly process the read log commands.
>> However, in some cases, this also fails resulting in the device being
>> dropped.
>>
>> Fix this by using adding the ata_eh_revalidate_timeouts entries for the
>> READ_LOG_EXT and READ_LOG_DMA_EXT commands. This defines a timeout
>> increased to 15s, retriable one time.
>>
>> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
>> Cc: stable@xxxxxxxxxxxxxxx
>> Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx>
> 
> Thanks for your patch! Impact on system resume on Salvator-XS:
> 
> s2idle:
> 
>      ata1: link resume succeeded after 1 retries
>      ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>     -ata1.00: qc timeout (cmd 0x2f)
>     -ata1.00: Read log page 0x00 failed, Emask 0x4
>     -ata1.00: ATA Identify Device Log not supported
>     -ata1.00: failed to set xfermode (err_mask=0x40)
>     -ata1: link resume succeeded after 1 retries
>     -ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>      ata1.00: ATA Identify Device Log not supported
>      ata1.00: ATA Identify Device Log not supported
>      ata1.00: configured for UDMA/133
> 
> s2ram:
> 
>      ata1: link resume succeeded after 1 retries
>      ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>     -ata1.00: qc timeout (cmd 0x2f)
>     -ata1.00: Read log page 0x00 failed, Emask 0x4
>     -ata1.00: ATA Identify Device Log not supported
>     -ata1.00: failed to set xfermode (err_mask=0x40)
>     -ata1: link resume succeeded after 1 retries
>     -ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>     -ata1.00: NODEV after polling detection
>     -ata1.00: revalidation failed (errno=-2)
>     -ata1: link resume succeeded after 1 retries
>     -ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>      ata1.00: ATA Identify Device Log not supported
>      ata1.00: ATA Identify Device Log not supported
>      ata1.00: configured for UDMA/133
> 
> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>

Great ! Thanks for testing.

> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
> 


-- 
Damien Le Moal
Western Digital Research



[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux