Patch RFC: Promise SATA300 TX4 hardware bug workaround.
Alexander Sabourenkov
screwdriver at lxnt.info
Fri Nov 2 03:57:53 PDT 2007
Søren Schmidt wrote:
> Søren Schmidt wrote:
>> Good catch!
>>
>> However from my quick glimpse at the Promise sources the limit seems
>> to be 32 Dwords ie 32*4 = 128bytes.
Please see driver named 4_sataii150-300_linux2.6-src_x86-64_v1.01.0.23
>> I'll investigate further and ask Promise for the gory details, stay
>> tuned...
>> I dont think the PRD count limitation is a real problem, I've newer
>> seen that long a list and IIRC we newer do more than 64K transfers in
>> one go (yet).
In (current) practice, yes, but check should be there even if only to
document the limit.
>> Anyhow I need to get checks in for that not just here...
>>
>> Give me a few days and I'll get this figured out for 7-rel...
> Oh, and I forgot, do you have a surefire way to reproduce the problem so
> the fix can be tested ?
dd if=/dev/ad8 of=/dev/null bs=1048576 count=1000 works every time.
I have tested it on my home machine:
without the patch first timeouts and errors appear about 10 seconds into
the read.
with the patch a read of entire disk (320G) completed without errors.
Previous tests of analogous linux driver fix shown no errors and no data
corruption on two write-whole-drive, read-whole-drive cycles.
>
> I've newer been able to trigger this problem myself so far.
>
Seems like the bug is highly configuration-dependent, or
pci-chiset-depended, or just present in some production runs and not other.
--
./lxnt
More information about the freebsd-hackers
mailing list