Re: SII SATA request size limit

From: Jens Axboe
Date: Mon Sep 15 2003 - 03:48:08 EST


On Fri, Sep 12 2003, Eduardo Casino wrote:
> Hi All,
>
> I had a look at the NetBSD pciide.c driver and found this interesting
> bit of code:
>
> /*
> * Rev. <= 0x01 of the 3112 have a bug that can cause data
> * corruption if DMA transfers cross an 8K boundary. This is
> * apparently hard to tickle, but we'll go ahead and play it
> * safe.
> */
> if (PCI_REVISION(pa->pa_class) <= 0x01) {
> sc->sc_dma_maxsegsz = 8192;
> sc->sc_dma_boundary = 8192;
> }
>
> This is basically the same as setting hwif->rqsize to 15, but the NetBSD

You can do much much better than that, it's pretty simply to just
restrict the segment size and boundary if you have a controller with
such a bug. And then you get the benefit of the larger requests too,
it's basically not a performance hit at that point.

--
Jens Axboe

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