Saturday, 22 March 2008

Interrupts hogging CPU use caused by UDMA drives reverting to PIO mode.

I have experienced some on going problems with my Dell PC running XP being slow and unresponsive, as well as the hard disk problems [1][2][3].

Running the SysInternals utility Process Explorer I have noticed that it was indicating that "interrupts" were taking the majority of CPU load, and it seemed related to disk activity, when copying large files to and from USB drives for example. I did a quick google and discovered this post which identified the problem, which is related to way XP handles the DMA mode on ATA/ATAPI devices (article here and discussion here).

For repeated DMA errors. Windows XP will turn off DMA mode for a device after encountering certain errors during data transfer operations. If more that six DMA transfer timeouts occur, Windows will turn off DMA and use only PIO mode on that device.

In this case, the user cannot turn on DMA for this device. The only option for the user who wants to enable DMA mode is to uninstall and reinstall the device.

Windows XP downgrades the Ultra DMA transfer mode after receiving more than six CRC errors. Whenever possible, the operating system will step down one UDMA mode at a time (from UDMA mode 4 to UDMA mode 3, and so on).

Sure enough checking my machine the drives were switched to PIO mode.

To access this information use Settings->Control Panel->System->Hardware->Device Manager and then expanding the IDE ATA/ATAPI controllers

Device Manager

Double click them and under advanced settings you will see the transfer mode selected

IDE Channels

If the current transfer mode is set as PIO rather then UDMA then the best thing to do is uninstall the driver and let XP reboot, this reinstalls the driver and resets the transfer mode. This works for SATA drives as well as they are still IDE drives.

I can't recommend the SysInternals Process Explorer utility enough and is a worthwhile replacement for Task Manager. The Sysinternals web site was created in 1996 by Mark Russinovich and Bryce Cogswell to host their advanced system utilities and technical information. Microsoft acquired Sysinternals in July, 2006. The site is full of useful utilities to help manage, troubleshoot and diagnose Windows systems and applications.

Labels: , , , , ,

Bookmark and Share

Sunday, 16 March 2008

To quote David Coverdale "Here I Go Again!"

Whitesnake - Here I Go Again!
Click the picture for some classic 1980s rock ballad and insane hairstyles!

Back in January before I split my online ramblings into two distinct blogs I posted about some problems with my main Dell Windows XP box and it's recurrent BSOD problem.

Well last Thursday I found my computer hung up again and after being forced to power it down and rebooting found it extremely sluggish and within a few minutes the familiar "Stop 0x000000F4 BSOD" appeared. Checking the event viewer it was apparent that yet again bad blocks on the hard drive were the problem so I had to run a "chkdsk /r" which this time took the best part of 24 hours!

While it was doing that I decided I would have another look at getting a desktop Linux box running. I was tempted by openSUSE but opted for Fedora8, I have had good experiences with both distributions in the past as opposed to my awful experiences with Ubuntu, I think it may be the hideous brown colour scheme!

shit box

My target hardware came courtesy of my neighbour who was disposing of some old pcs. On investigation this old Packard Bell came with a MSI K7TM Pro (MS-6340) motherboard an AMD Athlon 800MHz, 256MB of RAM and NVidia Vanta TNT2 video card and on board sound and a DVD-CD/RW combo drive. I installed a spare 80GB harddrive, boosted the memory to 640MB and stuck in a network card. I upgraded the BIOS (which made a remarkable difference to the options available) and stuck in the Fedora8 Install DVD and off it went.

Fedora8
You can see the Fedora8 running on the left while the XP box on the right struggles to correct itself!

I have been pleasantly surprised how reasonably it runs on relative underpowered hardware and more surprised how much easier I found it to get things running. In the past I have always hardware incompatibility problems, often in the install failing completely, or software problems. So all I have ever done is get a rudimentary server running, mainly so I could use it as a SSH proxy to bypass my previous companies web block and logging! That is not to say I did encounter a few minor problems but they were easily corrected and I will post some of the solutions later.

The machine called "INSANE" is fully integrated into the Windows network, prints and scans using my HP 3210 All-in-one printer/scanner. It plays videos, mp3s and I even compiled the last.fm client!

Labels: , , , ,

Bookmark and Share