reduce interrupt rate for CD/DVD drive(r)

Jin Guojun [VFFS] j_guojun at lbl.gov
Mon Aug 28 18:41:58 UTC 2006


Peter Jeremy wrote:

>On Sun, 2006-Aug-27 16:37:29 -0700, Jin Guojun [VFFS] wrote:
>  
>
>>I have difficulty to get CD/DVD write speed above 1.6MB/s  (10x for CD, 
>>or 1.1x for DVD).
>>The problem seems to be the interrupt rate is high (70-80% of CPU) for 
>>CD/DVD drive(r).
>>    
>>
>
>Your drive is probably in PIO4 mode (due to there being bugs in the
>UDMA implementation on many drives).  Check hw.ata.atapi_dma and
>"atacontrol mode acd0".  You may find you can change to WDMA2 mode
>which will significantly reduce the interrupt and CPU load.  You will
>need to do some experimenting with your drives to see what works for
>you.
>  
>
Yes, this is the problem.   
hw.ata.atapi_dma=1
but 6.1-R configures acd0 to PIO4.
"atacontrol mode acd0 WDMA2" makes acd0 into correct mode.

Under 4.11-R, things are complicated.
hw.ata.atapi_dma=1 makes boot process configure acd0 to UDMA2,
but Tx (I/O) rate limits at 1.6 MB/s. atacontrol will not help.

hw.ata.atapi_dma=0 makes boot process configure acd0 to PIO4,
and initial Tx rate is 1.6 MB/s. However, use atacontrol to change
mode to WDMA2, or UDMA2, or back to PIO4, Tx rate can go up
for a single I/O session or more , but not stable. In random time,
the Tx rate will drop back to 1.6 MB/s.
Since 6.1-R works, I would not think we need to worry about 4.11-R
for this issue.

Thanks for the information,

    -Jin



More information about the freebsd-performance mailing list