Re: [git patches] libata updates for 2.6.34
From: Zeno Davatz
Date: Mon Mar 15 2010 - 09:21:45 EST
On Mon, Mar 15, 2010 at 2:06 PM, Jeff Garzik <jeff@xxxxxxxxxx> wrote:
> On 03/15/2010 03:33 AM, Zeno Davatz wrote:
>>
>> On Mon, Mar 15, 2010 at 3:55 AM, Jeff Garzik<jeff@xxxxxxxxxx> wrote:
>>>
>>> On 03/09/2010 11:26 PM, Tejun Heo wrote:
>>>>
>>>> Hello, Linus, Jeff.
>>>>
>>>> On 03/10/2010 07:12 AM, Jeff Garzik wrote:
>>>>>
>>>>> Coincedentally, it looks like someone else just reported the same
>>>>> problem, with 2.6.34-rc1.
>>>>>
>>>>> It definitely sounds like a race. READ DMA is a DMA command as the
>>>>> name
>>>>> implies, so that eliminates the possibility of polling-related paths in
>>>>> ata_sff_interrupt (libata-sff.c).
>>>>>
>>>>> I'll flip some of my machines to the icky slow boring piix mode, rather
>>>>> than sexy AHCI mode :) to see if I can reproduce. I have had a feeling
>>>>> that we needed a more sophisticated IRQ handling setup, this may be
>>>>> what
>>>>> was needed. Lost interrupt recovery should occur faster than 30
>>>>> seconds
>>>>> in any case, and should not require a hard reset if the hardware
>>>>> functions just fine outside of the lost-interrupt / race that just
>>>>> occurred.
>>>>
>>>> Yeap, there is a race condition with clearing which I don't think we
>>>> can solve completely but with some modification I think we can at
>>>> least cover known failure cases.
>>>>
>>>> For longer term, I don't think we can solve this by diddling with the
>>>> SFF registers. The interface is just way too ancient and horrid to
>>>> build anything reliable on top of. I'm planning on implementing
>>>> smarter IRQ storm handling and stepped timeouts for ATA commands.
>>>
>>> A tester on this bug
>>> http://bugzilla.kernel.org/show_bug.cgi?id=15537
>>> seemed to find success with the patch.
>>
>> Thanks for the Update!
>>
>> I will wait some more and then test rc-2.
>
> Can you test the patch, please?
Sure. I done:
/usr/src/linux> sudo patch -p1 < teo
patching file drivers/ata/libata-sff.c
Hunk #1 FAILED at 1667.
Hunk #2 FAILED at 1700.
Hunk #3 FAILED at 1718.
Hunk #4 FAILED at 1770.
Hunk #5 FAILED at 1792.
Hunk #6 FAILED at 1801.
Hunk #7 FAILED at 1818.
7 out of 7 hunks FAILED -- saving rejects to file drivers/ata/libata-sff.c.rej
Is that the expected outcome? Can I ignore the "failed" output?
Now I guess I still need to do "make", lilo and reboot.
Let me know.
Best
Zeno
--
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/