Re: ATA failure regression in kernel 4.2

From: Alex Deucher
Date: Tue Jul 28 2015 - 14:19:22 EST


On Mon, Jul 27, 2015 at 12:30 PM, Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> wrote:
> On 2015/7/27 23:21, Alex Deucher wrote:
>> On Sun, Jul 26, 2015 at 11:01 PM, Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> wrote:
>>> On 2015/7/25 1:38, Alex Deucher wrote:
>>>> On Thu, Jul 23, 2015 at 2:44 PM, Alex Deucher <alexdeucher@xxxxxxxxx> wrote:
>>>>> On Thu, Jul 23, 2015 at 2:35 PM, Tejun Heo <tj@xxxxxxxxxx> wrote:
>>>>>> Hello,
>>>>>>
>>>>>> On Thu, Jul 23, 2015 at 01:48:24PM -0400, Alex Deucher wrote:
>>>>>>> Something new in kernel 4.2 seems to have broken one of my hard drives
>>>>>>> (ssd) in kernel 4.2. 4.1 and older kernels work fine. Here are the
>>>>>>> relevant logs.
>>>>>>>
>>>>>> ...
>>>>>>> [ 6.547628] ata2.00: qc timeout (cmd 0xec)
>>>>>>> [ 6.547721] ata2.00: failed to IDENTIFY (I/O error, err_mask=0x4)
>>>>>>> [ 7.007213] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
>>>>>>> [ 16.997819] ata2.00: qc timeout (cmd 0xec)
>>>>>>> [ 16.997910] ata2.00: failed to IDENTIFY (I/O error, err_mask=0x4)
>>>>>>> [ 16.997995] ata2: limiting SATA link speed to 3.0 Gbps
>>>>>>> [ 17.457400] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
>>>>>>> [ 47.429257] ata2.00: qc timeout (cmd 0xec)
>>>>>>> [ 47.429349] ata2.00: failed to IDENTIFY (I/O error, err_mask=0x4)
>>>>>>> [ 47.888822] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
>>>>>>
>>>>>> Nothing really rings a bell. Timeouts on IDENTIFY. Could be IRQ
>>>>>> related. Which controller is it (lspci -nn)? Also, can you try to
>>>>>> bisect the issue?
>>>>>
>>>>> 00:11.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH
>>>>> SATA Controller [AHCI mode] [1022:7801] (rev 40)
>>>>> 00:14.1 IDE interface [0101]: Advanced Micro Devices, Inc. [AMD] FCH
>>>>> IDE Controller [1022:780c]
>>>>>
>>>>> I can take a look at bisecting later this week.
>>>>
>>>> You were right about the interrupts. This is an AMD Kaveri APU system.
>>> Hi Alex,
>>> Could you please help to provide more information about the
>>> system so we could identify the issue? Dmesg and /proc/interrupts
>>> from good and bad kernels are welcomed.
>>> Thanks!
>>> Gerry
>>
>> See attached. Thanks!
> Hi Alex,
> Thanks for the info. Seems something is wrong with multiple-MSI
> support. To narrow down the scope, could you please help to:

I'm also not getting interrupts in my gpu driver. I haven't bisected
this specifically, but I suspect it is related since it to used to
work in 4.1. Whether I enable MSIs or not in my driver, I get a huge
numbers of interrupts on all CPUs as soon as the driver is loaded, but
the driver isr never gets called. E.g.,
49: 117757835 117763227 117787837 117868913 PCI-MSI
524288-edge amdgpu
nointremap doesn't seem to help.

Alex

> 1) apply the small patch and retest
> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
> index 7e62751abfac..35f524cc23b7 100644
> --- a/drivers/ata/ahci.c
> +++ b/drivers/ata/ahci.c
> @@ -1345,6 +1345,7 @@ static int ahci_init_msi(struct pci_dev *pdev,
> unsigned int n_ports,
> if (nvec < 0)
> return nvec;
>
> + nvec = 1;
> /*
> * If number of MSIs is less than number of ports then Sharing Last
> * Message mode could be enforced. In this case assume that
> advantage
> 2) Disable interrupt remapping by kernel parameter "nointremap"
> and retest.
> Thanks!
> Gerry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/