Re: Is there still sufficient reason for hw.ata.atapi_dma being 0 by default?

From: Chuck Swiger <cswiger_at_mac.com>
Date: Fri, 30 Jul 2004 15:02:48 -0400
Søren Schmidt wrote:
> Maxim Sobolev wrote:
>> Since high-speed CD-RW/DVD-RW recorders (32x - 52x) are commodity now 
>> IMO it makes sense to review hw.ata.atapi_dma default of 0, since 
>> apparently PIO mode can't support necessary sustained data transfer 
>> rates anymore. For example I had had problems burning RWs on 16-24x 
>> with several drives in PIO mode, which gone when I've switched to DMA.

Before CD burners became common, having this sysctl default to zero was almost 
entirely harmless: people would simply read from CD-ROM drives slower than 
optimal.  If we change the default to one, people with fast burners will no 
longer generate coasters by default too.  In other words, Maxim has provided a 
pretty good reason for changing the default of atapi_dma,  I think.  :-)

> Hmm, things are still messy, but most drives that support UDMA33 can do 
> ATAPI dma. However, that is only part of the equation, the chipset has 
> its hands in there as well, and unfortunatly there seems to be no good 
> way to detect when it works and when it doesnt.

If the chipset is broken, why doesn't it default to using PIO4 rather than 
UDMA?  :-)  Anyway, doesn't there exist fallback code in dev/ata/ata-disk.c:

         /* if this is a UDMA CRC error, reinject request */
[ ... ]
                 printf(" falling back to PIO mode\n");

...which will switch a device generating errors from UDMA mode to PIO?  Can 
this check also turn off using atapi_dma (if using PIO doesn't already imply 
not using DMA)?

-- 
-Chuck
Received on Fri Jul 30 2004 - 17:03:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:04 UTC