Re: Silicon Image 3112A SATA trouble

From: Jeff Garzik
Date: Sun Nov 30 2003 - 11:43:48 EST


Jens Axboe wrote:
On Sun, Nov 30 2003, Bartlomiej Zolnierkiewicz wrote:
Hmm. actually I was under influence that we have generic ioctls in 2.6.x,
but I can find only BLKSECTGET, BLKSECTSET was somehow lost. Jens?


Probably because it's very dangerous to expose, echo something too big
and watch your data disappear.


IMO, agreed.

Max KB per request really should be set by the driver, as it's a hardware-specific thing that (as we see :)) is often errata-dependent.

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 fond of partial completions, as I feel they add complexity, particularly so in my case: I can simply use the same error paths for both the single-sector taskfile and the "everything else" taskfile, regardless of which taskfile throws the error.

(thinking out loud) Though best for simplicity, I am curious if a succession of "tiny/huge" transaction pairs are efficient? I am hoping that the drive's cache, coupled with the fact that each pair of taskfiles is sequentially contiguous, will not hurt speed too much over a non-errata configuration...

Jeff



-
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/