LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 09-02-2005, 05:47 AM   #1
walmartshopper
Member
 
Registered: Sep 2004
Distribution: Slackware64-current multilib
Posts: 32

Rep: Reputation: 16
Problem after enabling SMP on dual core amd64


I recently upgraded from an athlon64 3500+ to a dual core 3800+. I'm running my own custom 2.6.11.12 kernel. Everything worked fine after the switch. Then I recompiled my kernel with the same config, but with SMP support turned on. After installing it and rebooting, I started having problems. Every time the CPU was used, everything would pause for about half a second. For example, if i was playing music and then grabbed a window and moved it, the music would keep pausing until I let go of the window. And my keyboard input got screwed up too. Every time I pressed a letter on the keyboard, it would print the letter 5 or 6 times. But this only happened when the CPU was being used by another process. Everything else seemed to work ok. So the problem has something to do with enabling SMP support on a dual core athlon64. I'm wondering if there are some other kernel options that I should enable or disable that might be causing this. I have Preemptible Kernel turned on and also Preempt The Big Kernel Lock. I'll try the 2.6.13 kernel and maybe try turning off preemption... Any other ideas on what might be causing the pausing?

edit: after running the smp kernel again, the problem seems to be that the system clock is speeding way up. The gkrellm graphs move a lot faster, and the keyboard repeat rate increases to the point where a quick tap on the keyboard prints the letter 3 times. The cursor also flashes very quickly. BTW... i dual boot, and it doesn't happen on windoze.

Thanks.

Last edited by walmartshopper; 09-02-2005 at 07:13 AM.
 
Old 09-02-2005, 11:59 PM   #2
nomind
LQ Newbie
 
Registered: Sep 2005
Distribution: Gentoo
Posts: 15

Rep: Reputation: 0
A few proposed solutions:

1) Upgrade to a bleeding-edge kernel and keep system utilities (e.x. pci-utils) updated.
2) Try various combos of HPET, HPET_TIMER, HPET_EMULATE_RTC, X86_MCE, X86_PM_TIMER, and RTC options in the kernel.
3) Passing some or all of these options to the kernel at boot:
no_timer_check (most important)
pci=biosirq
pci=noacpi
pci=irqroute
clock=pmtmr
notsc
noapic
noapictimer

Enjoy

P.S: I myself don't own an amd64 (one can wish though ), and your proc is __SICK__!
 
Old 09-04-2005, 05:03 PM   #3
walmartshopper
Member
 
Registered: Sep 2004
Distribution: Slackware64-current multilib
Posts: 32

Original Poster
Rep: Reputation: 16
Thanks for the reply! I got the problem fixed. Although the above solutions did not work, you pointed me in the right direction. I needed the Athlon64 powernow driver, which is available from http://amd.com. This driver is also built into the kernel starting with the recent 2.6.13. I was already running 2.6.13, so I just recompiled it with the powernow driver and left the HPET and RTC stuff enabled. It's worked perfectly ever since. Now it's running 2 instances of glxgears at 3200fps each
 
Old 09-26-2005, 12:56 PM   #4
larslynch
LQ Newbie
 
Registered: Sep 2005
Posts: 2

Rep: Reputation: 0
Adding the kernel option: clock=pmtmr to my GRUB conf fixed a similar problem with the following setup:

NVidia Geforce4 MX4000
MSI K8T-Neo2-F V2.0 (bios revision 3.2)
Athlon64 X2 3800+

With smp kernel 2.6.11.7 and nvidia driver version 1.0-7667, anytime I used multiple xv overlay ports(mplayer -vo xv) in XWindows, the windows would get all confused and mix the video.

A tail of the /var/log/Xorg.0.log would show a ton of the following warnings from the NVIDIA kernel module:
(WW) NVIDIA(0): WAIT (0, 6, 0x8000, 0x00004818, 0x00004818, 0)

This post:
http://www.uwsg.iu.edu/hypermail/lin...03.3/0834.html

sheds some light on the difference between the three timers available in linux: clock=pit, clock=tsc, and clock=pmtmr

Using the pit or pmtmr timers fixes my problem, though getting the time is a bit more computationally expensive. So something about SMP and the tsc timer mixes up the clock.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
AMD64 X2 (dual core) and SuSE 10 skunkcabbage SUSE / openSUSE 11 10-28-2005 05:36 PM
Problem with installing Debian Linux on a AMD64 dual core machine brianq Linux - Software 1 10-07-2005 09:34 PM
Is dual core worth it on regular apps? Simple SMP test results SteveSch Linux - Hardware 7 09-12-2005 01:36 AM
Enabling SMP Maintech Slackware 4 10-07-2004 11:33 PM
enabling SMP on slackware 10 littleking Slackware 8 08-27-2004 12:30 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 10:17 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration