Skip to contentSkip to conversation

mod15write

DISCUSSION Jeff Garzik 2 participants 3 messages Dec 3, 2005 – Dec 5, 2005 libata

lore
Share & tools
lore
#0 lore raw

IIRC, the specific mod15write problem is that we don't want the final Data FIS generated by the 3112 to end on a pure 8K or 7.5K boundary (Carlos, check me here...)

Thus, a potential solution might be to do full speed read commands, and split write commands into two commands: one write with the majority of the transfer, and a second write with the remainder.

Jeff

#1 lore raw
Quoted 5 lines · Jeff Garzik

IIRC, the specific mod15write problem is that we don't want the final Data FIS generated by the 3112 to end on a pure 8K or 7.5K boundary (Carlos, check me here...)

Thus, a potential solution might be to do full speed read commands, and split write commands into two commands: one write with the majority of the transfer, and a second write with the remainder.

Hello, Jeff and Carlos.

I did some tests with m15w workaround I'm maintaining. It was quite easy to do what Jeff said instead of the original workaround (chopping off large write requests to writes <= 15 sectors).

3112: For some mysterious reason, I couldn't regenerate m15w problem on the controller. Even without any patch, the drive works perfectly no matter what I do. I used to be able to cause m15w lockup on this controller previously on the older testing machine.

3114: This locks up very easily. We currently don't know whether 3114 has m15w or not, but 3114 locks up without the workaround and with the modified workaround, but works fine with the original workaround.

So, if the lock ups of 3114 are actually m15w, splitting writes into two commands such that it doesn't end on a 8k or 7.5k boundary doesn't seem to work. I'll retest 3112 on the older machine and report.

Signature · 1 line
tejun
#2 lore raw
Quoted 1 line · Tejun Heo

So, if the lock ups of 3114 are actually m15w, splitting writes into two commands such that it doesn't end on a 8k or 7.5k boundary doesn't seem to work. I'll retest 3112 on the older machine and report.

sata_sil has always had lock-up reports, so don't be too quick to blame mod15write. It's likely there is some other problem.

I wonder if we could get this looked at in a SATA bus analyzer... (I don't have one, alas)

Jeff