Re: How to disable DMA for compact-flash disk?

From: Alan Cox
Date: Fri Aug 14 2009 - 17:09:38 EST


> This worked fine, but now I'm having some more issues. Using libata is 1/2
> as fast as using IDE mode. I *think* the problem might be that libsata
> may not be using 32-bit PIO mode, but I'm not certain of that. It seems
> that ide mode uses PIO2 v/s PIO4 for libsata too.

As of 2.6.29 libata doesn't use 32bit PIO (it shouldn't make a difference
for most chipsets but it does for some). 2.6.30 does for some and you can
turn it on for others if you want to test by inheriting
ata_bmdma32_port_ops instead of ata_bmdma_port_ops

> hdb: Ridata CF, CFA DISK drive
> hdb: host max PIO5 wanted PIO255(auto-tune) selected PIO2
> hdb: host max PIO5 wanted PIO255(auto-tune) selected PIO2

Very odd it picked PIO2, but the numbers you quote for hdparm doesn't
sound like PIO2 so its hard to guess.

> ata1.01: configured for PIO4

So libata picked a faster rate (PIO4 is the fastest the controller is
properly specced for according to my docs - it probably can do PIO5 (CF
specific))

> /dev/sda1:
> Timing cached reads: 280 MB in 2.00 seconds = 139.98 MB/sec
> Timing buffered disk reads: 10 MB in 3.69 seconds = 2.71 MB/sec

Would be very interested to know if bmdma32_port_ops gives you the speed.
--
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/