Thursday, June 11, 2009

Lousy Performance, High Hardware Interrupt Usage

My system has been dog too slow since I did a reinstall a couple weeks back. Process Explorer was showing some outrageous hardware interrupt rates, on occasion as high as 50% and regularly at 20%.

I’d let it roll for a couple weeks simply because it was low on my frustration list and I was trying to roll through other things. It finally pissed me off enough tonight that I spent some time nailing it down. Turns out ATA/IDE controllers will often revert back to PIO mode instead of Ultra-DMA.

After the Windows IDE/ATAPI Port driver (Atapi.sys) receives a cumulative total of six time-out or cyclical redundancy check (CRC) errors, the driver reduces the communications speed (the transfer mode) from the highest Direct Memory Access (DMA) mode to lower DMA modes in steps. If the driver continues to receive time-out or CRC errors, the driver eventually reduces the transfer mode to the slowest mode (PIO mode).

Check the problem by examining the controller’s Primary and Secondary IDE settings: Device Manager -> IDE ATA/ATAPI controllers -> Primary or Secondary IDE Channel -> Properties -> Advanced Settings. Look at the Current Transfer Mode field. If it’s “PIO” then it’s a FUBAR PITA and you’ll need to uninstall the driver, reboot and let XP do its magic reinstall.

No comments:

Post a Comment