Re: Silicon Image 3112A SATA trouble

Jeff Garzik
2003-11-30T18:19:50Z

Jens Axboe wrote:
> On Sun, Nov 30 2003, Vojtech Pavlik wrote:
>
>>On Sun, Nov 30, 2003 at 06:10:06PM +0100, Jens Axboe wrote:
>>
>>
>>>On Sun, Nov 30 2003, Jeff Garzik wrote:
>>>
>>>>Bartlomiej Zolnierkiewicz wrote:
>>>>
>>>>>On Sunday 30 of November 2003 17:51, Jens Axboe wrote:
>>>>>
>>>>>>>Tangent: My non-pessimistic fix will involve submitting a single sector
>>>>>>>DMA r/w taskfile manually, then proceeding with the remaining sectors in
>>>>>>>another r/w taskfile. This doubles the interrupts on the affected
>>>>>>>chipset/drive combos, but still allows large requests. I'm not terribly
>>>>>>
>>>>>>Or split the request 50/50.
>>>>>
>>>>>
>>>>>We can't - hardware will lock up.
>>>>
>>>>Well, the constraint we must satisfy is
>>>>
>>>> sector_count % 15 != 1
>>>
>>> (sector_count % 15 != 1) && (sector_count != 1)
>>>
>>>to be more precise :)
>>
>>I think you wanted to say:
>>
>> (sector_count % 15 != 1) || (sector_count == 1)
>
>
> Ehm no, I don't think so... To my knowledge, sector_count == 1 is ok. If
> not, the hardware would be seriously screwed (ok it is already) beyond
> software fixups.

Now that you've kicked my brain into action, yes, sector_count==1 is ok.
It's all about limiting the data FIS... and with sector_count==1
there is no worry about the data FIS in this case.

Jeff