LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 09-02-2007, 11:15 AM   #1
duryodhan
Senior Member
 
Registered: Oct 2006
Distribution: Slackware 12 Kernel 2.6.24 - probably upgraded by now
Posts: 1,054

Rep: Reputation: 46
Interrupts being processed by only 1 cpu


I am running Intel P4 with SMP support and P4 clock mod support (self compiled very thin kernel)

I was reading stuff and found that cat /proc/interrupts gives information about interrupts processed etc.

I did the same and found the following ..

Quote:
CPU0 CPU1
0: 257 0 IO-APIC-edge timer
1: 1726 0 IO-APIC-edge i8042
8: 1 0 IO-APIC-edge rtc
9: 0 0 IO-APIC-fasteoi acpi
12: 102 0 IO-APIC-edge i8042
14: 16742 0 IO-APIC-edge ide0
16: 90501 0 IO-APIC-fasteoi uhci_hcd:usb5, HDA Intel, i915@pci:0000:00:02.0
18: 0 0 IO-APIC-fasteoi uhci_hcd:usb4
19: 370 0 IO-APIC-fasteoi libata, uhci_hcd:usb3
20: 22263 0 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb2
223: 15250 0 PCI-MSI-edge eth0
NMI: 0 0
LOC: 264692 237553
ERR: 0
MIS: 0

Why is it that all my interrupts are being processed by only 1 cpu? This is more like asymmetric multi processing rather than SMP. Is this correct /default or have I done something wrong?


I am on Slack 12, so I posted here. .. does this belong in Linux-Kernel?
 
Old 09-02-2007, 11:41 AM   #2
ghostdancer
Member
 
Registered: Apr 2002
Distribution: Slackware
Posts: 266

Rep: Reputation: 30
It is likely, you are running hyperthreading, not a real dual CPU.

Below is my system with hyperthreading:
Code:
$> cat /proc/interrupts 
           CPU0       CPU1       
  0:         69          0   IO-APIC-edge      timer
  1:          2          0   IO-APIC-edge      i8042
  8:          0          0   IO-APIC-edge      rtc0
  9:          0          0   IO-APIC-fasteoi   acpi
 12:          4          0   IO-APIC-edge      i8042
 14:         87          0   IO-APIC-edge      libata
 15:          0          0   IO-APIC-edge      libata
 17:    2164620          0   IO-APIC-fasteoi   eth0
 18:    5777763          0   IO-APIC-fasteoi   libata
 19:          2          0   IO-APIC-fasteoi   uhci_hcd:usb1, ehci_hcd:usb5
 20:        171          0   IO-APIC-fasteoi   uhci_hcd:usb2
 21:    8998692          0   IO-APIC-fasteoi   uhci_hcd:usb3, eth1
 22:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4
NMI:          0          0 
LOC:   41835688   54137944 
ERR:          0
MIS:          0
Dual-Core CPU:
Code:
$> cat /proc/interrupts 
           CPU0       CPU1       
  0:         58          0   IO-APIC-edge      timer
  1:          0          0   IO-APIC-edge      i8042
  9:          0          0   IO-APIC-fasteoi   acpi
 14:   26659002     246421   IO-APIC-edge      ide0
 17:        861          0   IO-APIC-fasteoi   uhci_hcd:usb4
 18:   18270792   14447081   IO-APIC-fasteoi   uhci_hcd:usb3, eth1
 19:   91815155   92895086   IO-APIC-fasteoi   libata, uhci_hcd:usb2
 20:          2          0   IO-APIC-fasteoi   uhci_hcd:usb1, ehci_hcd:usb5
220:   22402963   27465773   PCI-MSI-edge      eth0
NMI:          0          0 
LOC:  294942007  294960800 
ERR:          0
MIS:          0
Two real CPU:
Code:
$> cat /proc/interrupts 
           CPU0       CPU1       
  0: 1117517110 1116826299    IO-APIC-edge  timer
  1:          0          9    IO-APIC-edge  i8042
  6:         23         32    IO-APIC-edge  floppy
  8:     526534     375594    IO-APIC-edge  rtc
  9:          0          1   IO-APIC-level  acpi
 12:          0        190    IO-APIC-edge  i8042
 15:   40241530   40201519    IO-APIC-edge  ide1
169:          0          0   IO-APIC-level  ohci_hcd:usb1, ohci_hcd:usb2
177:   18521287   18171304   IO-APIC-level  ioc0
185:    1399170         30   IO-APIC-level  eth0
193:          0   18142613   IO-APIC-level  eth1
NMI:          0          0 
LOC: 2234672828 2234672827 
ERR:          0
MIS:          0
I think, this should be expected expected. For SMP, real CPUs > Dual-Core > Hyperthreading.

Last edited by ghostdancer; 09-02-2007 at 11:54 AM.
 
Old 09-02-2007, 01:31 PM   #3
duryodhan
Senior Member
 
Registered: Oct 2006
Distribution: Slackware 12 Kernel 2.6.24 - probably upgraded by now
Posts: 1,054

Original Poster
Rep: Reputation: 46
yeah, but then wats the point of having HT and abstracting it as 2 cpus ?
 
Old 09-02-2007, 01:33 PM   #4
duryodhan
Senior Member
 
Registered: Oct 2006
Distribution: Slackware 12 Kernel 2.6.24 - probably upgraded by now
Posts: 1,054

Original Poster
Rep: Reputation: 46
and damn!! where are you??? You have access to
1. A PC with HT
2. A dual core PC
3. A PC with actual 2 processors


damn!
 
Old 09-02-2007, 01:36 PM   #5
ghostdancer
Member
 
Registered: Apr 2002
Distribution: Slackware
Posts: 266

Rep: Reputation: 30
Quote:
Originally Posted by duryodhan View Post
yeah, but then wats the point of having HT and abstracting it as 2 cpus ?
LOL... Very interesting question.

I will need to ask an Intel representative for that.

Quote:
Originally Posted by duryodhan View Post
and damn!! where are you??? You have access to
1. A PC with HT
2. A dual core PC
3. A PC with actual 2 processors


damn!
I have a few systems (in my office and home).
 
Old 09-02-2007, 01:45 PM   #6
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 21,126

Rep: Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120
My thoughts as well.
On multi CPU hyperthreaded, you actually want the interrupts handled by the real CPU instances (0,2,4,6) , not the SMT instance.
 
Old 09-03-2007, 08:02 AM   #7
ghostdancer
Member
 
Registered: Apr 2002
Distribution: Slackware
Posts: 266

Rep: Reputation: 30
I forgot something, for your kernel configuration, make sure "kernel irq balancing" is enabled in the "Processor type and features". It maybe the reason why your system behave this way.
 
Old 09-03-2007, 08:16 AM   #8
SCerovec
Senior Member
 
Registered: Oct 2006
Location: Cp6uja
Distribution: Slackware on x86 and arm
Posts: 2,471
Blog Entries: 2

Rep: Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980
@ghostdancer
What is then better by means of cost/gain?
a. A Dual-cored CPU
b. Two CPUs on a single MoBo
c. A Single-cored CPU fr the same money?
I've seen nothing but disappointment since i swithced from 2500+Athlon (Barton) to a 3600+Athlon (the one @65nm process) regarding the SMP 'ability'.
Neither the 2.6.22.1 kernel nor the CPU seems worth the cost compared to a Sempron.
The BOX is an all around Desktop...
 
Old 09-04-2007, 01:19 AM   #9
ghostdancer
Member
 
Registered: Apr 2002
Distribution: Slackware
Posts: 266

Rep: Reputation: 30
From my experience, even with hyperthreading, my desktop behave much better than using single CPU. However, I don't have any real benchmark or statistical records to prove it.
 
Old 09-04-2007, 08:00 AM   #10
duryodhan
Senior Member
 
Registered: Oct 2006
Distribution: Slackware 12 Kernel 2.6.24 - probably upgraded by now
Posts: 1,054

Original Poster
Rep: Reputation: 46
kernel irq balancing didn't change much for me!
 
Old 09-04-2007, 11:02 PM   #11
ghostdancer
Member
 
Registered: Apr 2002
Distribution: Slackware
Posts: 266

Rep: Reputation: 30
Quote:
Originally Posted by duryodhan View Post
kernel irq balancing didn't change much for me!
I see. Anyway, just share with you something interesting (or at least I find it interesting).

I have a few boxes of dual-core system. Pentium D, Centrino Duo T5x and T7x series and Xeon dual core.

Pentium D - Self built no-brand desktop
Code:
$> uname -a
Linux orion 2.6.22.6 #1 SMP Fri Aug 31 23:41:25 SGT 2007 i686 Intel(R) Pentium(R) D CPU 2.66GHz GenuineIntel GNU/Linux

$> cat /proc/interrupts 
           CPU0       CPU1       
  0:        252          0   IO-APIC-edge      timer
  1:      23064          9   IO-APIC-edge      i8042
  7:          0          0   IO-APIC-edge      parport0
  9:          0          0   IO-APIC-fasteoi   acpi
 12:    1318210          7   IO-APIC-edge      i8042
 14:     476911          9   IO-APIC-edge      ide0
 15:    3670636         14   IO-APIC-edge      ide1
 16:    2417398          9   IO-APIC-fasteoi   sata_via
 17:     172498          1   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4, uhci_hcd:usb5, eth1
 18:     259979          1   IO-APIC-fasteoi   VIA8237
 19:    9866374   51320789   IO-APIC-fasteoi   eth0, nvidia
NMI:          0          0 
LOC:  130385130  125966143 
ERR:          0
MIS:          0
Xeon - HP Proliant ML110
Code:
$> uname -a
Linux vm2 2.6.22.6 #1 SMP Tue Sep 4 22:13:28 SGT 2007 i686 Intel(R) Xeon(R) CPU 3040  @ 1.86GHz GenuineIntel GNU/Linux

$> cat /proc/interrupts 
           CPU0       CPU1       
  0:         58          0   IO-APIC-edge      timer
  1:          0          0   IO-APIC-edge      i8042
  9:          0          0   IO-APIC-fasteoi   acpi
 14:     432541          0   IO-APIC-edge      ide0
 17:         55          0   IO-APIC-fasteoi   uhci_hcd:usb4
 18:      65080      86682   IO-APIC-fasteoi   uhci_hcd:usb3, eth1
 19:          0          0   IO-APIC-fasteoi   uhci_hcd:usb2
 20:          2          0   IO-APIC-fasteoi   uhci_hcd:usb1, ehci_hcd:usb5
219:     444652     418839   PCI-MSI-edge      eth0
220:    1249107    1218435   PCI-MSI-edge      ahci
NMI:          0          0 
LOC:    4805058    4804723 
ERR:          0
MIS:          0
Centrino Duo T5300 - Dell Inspiron 640m
Code:
$>  uname -a  
Linux linux-dell1 2.6.22.6 #1 SMP Mon Sep 3 21:02:04 SGT 2007 i686 Intel(R) Core(TM)2 CPU T5300  @ 1.73GHz GenuineIntel GNU/Linux

$> cat /proc/interrupts 
           CPU0       CPU1       
  0:    3870397          0   IO-APIC-edge      timer
  1:       6483          0   IO-APIC-edge      i8042
  9:          5          0   IO-APIC-fasteoi   acpi
 12:        166          0   IO-APIC-edge      i8042
 14:      26101          0   IO-APIC-edge      libata
 15:      71180          0   IO-APIC-edge      libata
 16:    1138941          0   IO-APIC-fasteoi   i915@pci:0000:00:02.0
 17:      36714          0   IO-APIC-fasteoi   eth0
 18:          2          0   IO-APIC-fasteoi   ohci1394
 19:          3          0   IO-APIC-fasteoi   uhci_hcd:usb1, ehci_hcd:usb5
 20:    1388726          0   IO-APIC-fasteoi   uhci_hcd:usb2, HDA Intel
 21:     120064          0   IO-APIC-fasteoi   uhci_hcd:usb3
 22:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4
 23:          0          0   IO-APIC-fasteoi   sdhci:slot0
NMI:          0          0 
LOC:    1232656    2603578 
ERR:          0
MIS:          0
Centrino Duo T7100 - Dell Vostro 1400
Code:
$>  uname -a
Linux virgo 2.6.22.6 #3 SMP Tue Sep 4 02:00:11 SGT 2007 i686 Intel(R) Core(TM)2 Duo CPU T7100  @ 1.80GHz GenuineIntel GNU/Linux

$> cat /proc/interrupts 
           CPU0       CPU1       
  0:     290861        438   IO-APIC-edge      timer
  1:       2245         13   IO-APIC-edge      i8042
  9:         22         23   IO-APIC-fasteoi   acpi
 12:          2          1   IO-APIC-edge      i8042
 14:       7361         23   IO-APIC-edge      libata
 15:          0          0   IO-APIC-edge      libata
 16:      72411        143   IO-APIC-fasteoi   i915@pci:0000:00:02.0
 17:      70455         94   IO-APIC-fasteoi   ipw3945
 18:         15          1   IO-APIC-fasteoi   firewire_ohci
 19:          0          0   IO-APIC-fasteoi   sdhci:slot0
 20:      97226        247   IO-APIC-fasteoi   uhci_hcd:usb1, uhci_hcd:usb4, ehci_hcd:usb7
 21:      11742         27   IO-APIC-fasteoi   uhci_hcd:usb2, uhci_hcd:usb5, HDA Intel
 22:          1          1   IO-APIC-fasteoi   ehci_hcd:usb3, uhci_hcd:usb6
218:       2080       2659   PCI-MSI-edge      eth0
219:      18012         20   PCI-MSI-edge      ahci
NMI:          0          0 
LOC:     141221     242488 
ERR:          0
MIS:          0
None looks well balance in terms of interrupts, and, Dell Impersion 640m seems to be the worst (perform similarly like my hyperthreaded P4).
 
Old 09-05-2007, 11:20 AM   #12
perry
Member
 
Registered: Sep 2003
Location: USA & Canada
Distribution: Slackware 12.0
Posts: 978

Rep: Reputation: 30
Wink Thanks!

Quote:
Originally Posted by ghostdancer View Post
I forgot something, for your kernel configuration, make sure "kernel irq balancing" is enabled in the "Processor type and features". It maybe the reason why your system behave this way.
This is what I got at the moment:

AMD Athlon 64, VIA K8T800 K8T Neo 64-bit processor based
Code:
perry@slackware:~$ uname -a
Linux slackware 2.6.21.5-smp #2 SMP Thu Aug 30 09:35:20 PDT 2007 i686 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux
perry@slackware:~$ cat /proc/interrupts 
           CPU0       
  0:         62   IO-APIC-edge      timer
  1:      12994   IO-APIC-edge      i8042
  6:          5   IO-APIC-edge      floppy
  7:          0   IO-APIC-edge      parport0
  8:          1   IO-APIC-edge      rtc
  9:          0   IO-APIC-fasteoi   acpi
 12:      47320   IO-APIC-edge      i8042
 14:      28872   IO-APIC-edge      ide0
 15:      55311   IO-APIC-edge      ide1
 17:          3   IO-APIC-fasteoi   fglrx
 18:      67284   IO-APIC-fasteoi   VIA8237
 19:     133625   IO-APIC-fasteoi   uhci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4, ehci_hcd:usb5
NMI:          0 
LOC:     762478 
ERR:          0
MIS:          0
perry@slackware:~$
Thanks to you I noticed that my kernel irq balancing is not turned on. If I really do have hyperthreading then I'd like for it to be turned on.

I'll be sure to let you know how it turns out if things *blow up*

- Perry

ps.
make all... ...looks like a *huge* compile option just took effect...!

Last edited by perry; 09-05-2007 at 11:26 AM.
 
Old 09-05-2007, 12:21 PM   #13
perry
Member
 
Registered: Sep 2003
Location: USA & Canada
Distribution: Slackware 12.0
Posts: 978

Rep: Reputation: 30
Thumbs up SMP enabled

Code:
perry@slackware:~$ cat /proc/interrupts 
           CPU0       
  0:         62   IO-APIC-edge      timer
  1:        119   IO-APIC-edge      i8042
  6:          5   IO-APIC-edge      floppy
  7:          0   IO-APIC-edge      parport0
  8:          1   IO-APIC-edge      rtc
  9:          0   IO-APIC-fasteoi   acpi
 12:       5648   IO-APIC-edge      i8042
 14:      25694   IO-APIC-edge      ide0
 15:       2734   IO-APIC-edge      ide1
 17:       6338   IO-APIC-fasteoi   uhci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4, ehci_hcd:usb5
 19:       3777   IO-APIC-fasteoi   VIA8237
NMI:          0 
LOC:     142458 
ERR:          0
MIS:          0
perry@slackware:~$ cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 12
model name      : AMD Athlon(tm) 64 Processor 3000+
stepping        : 0
cpu MHz         : 1000.000
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow up ts fid vid ttp
bogomips        : 2001.97
clflush size    : 64
New kernel compiled with kernel irq enabled and it seems to be working better than ever. however there is nothing to indicate that i have hyperthreading enabled other than I know i have smp enabled.

This just might be a fundamental difference between Intel and AMD so I'll not worry about the reports.

- Perry
 
Old 09-05-2007, 02:46 PM   #14
ghostdancer
Member
 
Registered: Apr 2002
Distribution: Slackware
Posts: 266

Rep: Reputation: 30
AFAIK, Hyperthreading is Intel only...
 
Old 09-05-2007, 04:31 PM   #15
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 21,126

Rep: Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120
Quote:
Originally Posted by perry View Post
however there is nothing to indicate that i have hyperthreading enabled other than I know i have smp enabled.
According to your output, you only have a single engine - seems right for what I remember of that chip. Turning SMP on won't do anything for you - shouldn't do any harm either though.

Maybe you're confusing Hypertransport with hyperthreading.
 
  


Reply



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
Clamav-Milter Issues (messages not being processed) jon3k Linux - Server 0 08-28-2006 05:31 PM
keyboard keys processed incorrect nadroj Linux - Newbie 4 03-14-2005 02:28 AM
fstab processed before sda exists bardinjw Debian 4 12-01-2004 10:40 AM
hardware interrupts using too much cpu Rocker Linux - General 4 10-12-2004 05:55 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 03:14 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