Apple OSes and IDE DMA Support?
KFox wishes to get to the core of this particular issue: "I just recently purchased an iBook and I have noticed that even in Jaguar, the system gets choppy from disk I/O. It appears that Mac OS 9 and Mac OS X don't support DMA access for hard drives, even if the drives are initialized in a UDMA mode. Wintel has had support in this area for a long time (since Win95b). Has anyone in the Mac world had any experience with DMA support on hard drives? Is it supported on iBooks? If so, which models?"
The ChangeLog seems to have added UDMA in version 1.1 and later updated in 1.7 .
Try searching for UDMA Ultra-ATA ATA33/66/100 because DMA doesnt allways show up.
Mouse powered Chips, Open source Processors and Lego
Daemon News has a little section on the iBook and DMA. You can see the Darwin boot sequence by holding down the "v" key at startup. Find the section titled "Further Exploration: Das Boot" in the article above and it will tell you how to view the boot messages and other useful tidbits.
It appears that this revision-A iBook does indeed have DMA enabled for both the hard drive and the CD-ROM drive.
This does not help you enable your own DMA, but do a search on Google for enabling DMA on FreeBSD style systems. You might find something useful.
Are you sure it's the disk causing the problem vs delays due to VM switching in and out. There's a memory utility (can't remember name, Memory Tracker or Memory Monitor?) that will beep each time memory is paged in or out (or you could use top if you can interpret the numbers).
I've found it can be pretty easy to use up all free RAM if you have a number of programs open or they leak memory. I've found at times I've had over 2GB of switch files.
This is with 896 MB of RAM, iBooks can be under spec'd in that department.
# sysctl -a | grep dma
/etc/sysctl.conf to make it enable it on every boot also.
Look for a setting that's related to DMA and set it from 0 to 1 with "sysctl -w". You should be able to place the setting in
Unfortunately, I don't have an OSX box to test it on right now, so I can't give you the exact settings. OSX is based on FreeBSD, and FreeBSD enables DMA by default, however, it's possible that apple found a need to disable it by default. Some drive/chipset combos have problems with DMA, and if they were unsure of which brands of drives or chipsets they would be using, disabling it by default would be the safe way to go.
Need Free Juniper/NetScreen Support? JuniperForum