Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
11-29-2005, 08:36 PM
|
#1
|
Member
Registered: Aug 2003
Location: Mocksville, NC, USA
Distribution: Gentoo, Slackware.
Posts: 410
Rep:
|
Gentoo, process scheduler, hard drive dma
Hi,
Just the other day I installed Gentoo Linux on a friend's computer for him. It is by no means a slow machine... 2.1GHz, 160GB hard drive, 1.5GB of ddr 400. There are two major problems I'm having with the install... it may be that I just configured something wrong because I dont know his hardware as well as I know my own, but I was just wondering if anybody had any suggestions as to what may be wrong. There seems to be a problem with the process scheduling... when I emerge things, it laggs down the desktop's resonsivness significantly, as in, jumpy mouse, etc. I went and set the PORTAGE_NICENESS variable all the way up to 15 to try to get it to put the emerges at a low proirity to give priority to his using the computer as a desktop machine, but that didn't seem to help any at all. I looked in with top and it seems that portage is niceing the processes it spawns, but the desktops still gets all slow and unresonsive when it's under heavy load, especially with emerge/portage. I cannot figure out what is wrong... my own desktop machine seems to handle the process scheduling fine, with no obvious slow down on the desktop with portage niced to only 8, and I'm running a 300MHz with 128MB ram, much less power then he has. But I suppose the power it's self is not a factor, because it seems that if it would just schedule the processes right it would be fine... it's puzzling me. I compiled the kernel with a preemptable kernel enabled, and 1000hz clock, which is suppost to increase resonsiveness, and those values work well on my own desktop machine. Another weird thing is that the DMA for his hard drive wont enable. I tried enabling it with hdparm, but it wont turn on, it says that it's unable to. His computer is brand new though, the hard drive MUST support dma. It's a EIDE 160Gig drive, although I'm not sure what make or model it is, the computer is at his house right now so I am unable to check. He doesn't have any RAID or IDE expansion cards that may cause trouble. I tested the hard drive's speed, and he was only getting 6.47MB/s transfer rate, which is incredibly slow for a hard drive that nice, and I'm sure its because the DMA wont turn on. I checked, and I did compile it into the kernel in the correct section. I'm not sure what else could be making it not turn on, unless I need a special module for his motherboard's chipset and/or hard drive for some reason. Can anybody think of anything that may help? That I could try to make this thing work right? I'm sorry for the lack of information, but sence it's not my machine I don't at the time have access to everything.
Thanks,
Marshall
|
|
|
11-29-2005, 09:58 PM
|
#2
|
Senior Member
Registered: Jun 2004
Posts: 2,553
Rep:
|
i don't know that much about it but will just toss out (mostly stupid) ideas.
first you are using Using anticipatory io scheduler yes. (should be anyway) and ACPI ?
it might be the high resolution ticks are killing the processor i guess.
possibly the brand of processor doesn't have deep enough pipes to handle all the context switching without doing cache thrashing. 10x more clock interrupts imply 10x more calls to the scheduler as well.
this also might cause bottleneck across the bus and you need to adjust buss latency down to increase burst size ?
It might also be related to what kind of clock ticks.
dmesg should say
Using tsc for high-res timesource
try posting dmesg later if yu want and we can look
|
|
|
11-30-2005, 02:59 PM
|
#3
|
LQ Guru
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 11,201
|
Offhand, I would say that what you are seeing is consistent with DMA not being enabled. And perhaps DMA can't be enabled because the wrong disk-driver has been selected.
If DMA is not turned on, the procedure for transferring data from the hard-disk becomes very sluggish, and a lot of it happens in a state where task-switching does not occur. (In fact, it's really indescribably-awful, putting bytes out one-at-a-time through an I/O port in a tight loop!)
So... you've found your problem; only question is why it doesn't recognize DMA. Check carefully your kernel configuration.
|
|
|
11-30-2005, 05:44 PM
|
#4
|
Senior Member
Registered: Jun 2004
Posts: 2,553
Rep:
|
yea i'm not so shure that would explain something as severe as ui jerkiness but it might.
you would think the kernel could at least give the appearence of handeling things even with horrible disk writing speeds and even while compiling with such a new system.
the harddrive might be throwing a bunch of needless interupts (possibly even a bad cable or a cable coming undone) but i think the kernel requires drivers to register interupts now so they can't do this either.
There was an Asus motherboard i think P5A that had problems if DMA was enabled because of bad BIOS.
Quote:
also from docs
in some Linux kernels, both the SATA driver and the IDE driver can handle the system hard disk. With the SATA driver, it shows as /dev/sda and DMA is enabled. With the IDE driver, it shows as /dev/hda and DMA is disabled.
The simplest way to enable DMA is to force the IDE driver to ignore the system hard disk by passing the hda=noprobe kernel argument. The driver will then be handled by the SATA driver. Note that this will change its device name to /dev/sda (which may require changes in /etc/fstab and the boot loader)
|
|
|
|
All times are GMT -5. The time now is 09:58 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|