2003-05-07 16:51:35

by Will Dinkel

[permalink] [raw]
Subject: x86_64 interrupts handled by CPU0 only

Are all interrupts supposed to be handled by CPU0 on x86_64, or is
something amiss? I'm getting the following on Mandrake Corporate Server
2.1:

---
[root@lab180 root]# uname -r -v -m -o
2.4.19-31mdksmp #1 SMP Thu Apr 17 09:34:46 EDT 2003 x86_64 GNU/Linux
[root@lab180 root]# cat /proc/interrupts
CPU0 CPU1
0: 447602 0 IO-APIC-edge timer
1: 424 0 IO-APIC-edge keyboard
2: 0 0 XT-PIC cascade
12: 851 0 IO-APIC-edge PS/2 Mouse
14: 25038 1 IO-APIC-edge ide0
15: 4930 1 IO-APIC-edge ide1
19: 0 0 IO-APIC-level usb-ohci, usb-ohci
24: 105196 0 IO-APIC-level ioc0, eth0
25: 46 0 IO-APIC-level ioc1
NMI: 2235 3808
LOC: 447494 447555
ERR: 0
MIS: 0
---

I see this behavior on systems using either the MSI or Tyan dual-opteron
boards. I also see it on RedHat's preview x86_64 distribution (kernel
version 2.4.20-9.2).

I'm still trying to get 2.5.69 to boot correctly, so I don't have
results there yet. On RedHat it hangs after "Booting the kernel..."
(and yes, I have CONFIG_VT, and CONFIG_VT_CONSOLE on). Any ideas?

System info:

---
[root@lab180 root]# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 5
model name : AMD Opteron(TM) 64 Processor 242
stepping : 0
cpu MHz : 1594.727
cache size : 1024 KB
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
bogomips : 3178.49
TLB size : 1088 4K pages
clflush size : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts ttp

processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 5
model name : AMD Opteron(TM) 64 Processor 242
stepping : 0
cpu MHz : 1594.727
cache size : 1024 KB
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
bogomips : 3185.04
TLB size : 1088 4K pages
clflush size : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts ttp

[root@lab180 root]# lspcidrake
unknown : Advanced Micro Devices|AMD-8111 PCI
unknown : Advanced Micro Devices|AMD-8111 LPC
unknown : Advanced Micro Devices|AMD-8111 IDE
unknown : Advanced Micro Devices|AMD-8111 ACPI
unknown : Advanced Micro Devices|AMD-8131 PCI-X Bridge
unknown : Advanced Micro Devices|AMD-8131 PCI-X APIC
unknown : Advanced Micro Devices|AMD-8131 PCI-X Bridge
unknown : Advanced Micro Devices|AMD-8131 PCI-X APIC
unknown : Advanced Micro Devices|K8 NorthBridge
unknown : Advanced Micro Devices|K8 NorthBridge
unknown : Advanced Micro Devices|K8 NorthBridge
unknown : Advanced Micro Devices|K8 NorthBridge
unknown : Advanced Micro Devices|K8 NorthBridge
unknown : Advanced Micro Devices|K8 NorthBridge
unknown : Advanced Micro Devices|K8 NorthBridge
unknown : Advanced Micro Devices|K8 NorthBridge
usb-ohci : Advanced Micro Devices|AMD-8111 USB
usb-ohci : Advanced Micro Devices|AMD-8111 USB
unknown : unknown (105a/3373/ffff/ffff)
Card:ATI Mach64 Utah: ATI|Rage XL
bcm5700 : Broadcom Corporation|BCM5704 CIOB-E 1000BaseTX
bcm5700 : Broadcom Corporation|BCM5704 CIOB-E 1000BaseTX
mptscsih : Symbios|53c1030
mptscsih : Symbios|53c1030
unknown : Virtual|Hub []
unknown : Virtual|Hub []
---

--
Will Dinkel <[email protected]>
Atipa Technologies


2003-05-07 20:34:26

by Arjan van de Ven

[permalink] [raw]
Subject: Re: x86_64 interrupts handled by CPU0 only

On Wed, 2003-05-07 at 19:02, Will Dinkel wrote:
> Are all interrupts supposed to be handled by CPU0 on x86_64, or is
> something amiss? I'm getting the following on Mandrake Corporate Server
> 2.1:
>
> ---
> [root@lab180 root]# uname -r -v -m -o
> 2.4.19-31mdksmp #1 SMP Thu Apr 17 09:34:46 EDT 2003 x86_64 GNU/Linux
> [root@lab180 root]# cat /proc/interrupts
> CPU0 CPU1
> 0: 447602 0 IO-APIC-edge timer
> 1: 424 0 IO-APIC-edge keyboard
> 2: 0 0 XT-PIC cascade
> 12: 851 0 IO-APIC-edge PS/2 Mouse
> 14: 25038 1 IO-APIC-edge ide0
> 15: 4930 1 IO-APIC-edge ide1
> 19: 0 0 IO-APIC-level usb-ohci, usb-ohci
> 24: 105196 0 IO-APIC-level ioc0, eth0
> 25: 46 0 IO-APIC-level ioc1
> NMI: 2235 3808
> LOC: 447494 447555
> ERR: 0
> MIS: 0
> ---
>
> I see this behavior on systems using either the MSI or Tyan dual-opteron
> boards. I also see it on RedHat's preview x86_64 distribution (kernel
> version 2.4.20-9.2).


please use irqbalanced ;)


Attachments:
signature.asc (189.00 B)
This is a digitally signed message part

2003-05-07 20:59:56

by Andi Kleen

[permalink] [raw]
Subject: Re: x86_64 interrupts handled by CPU0 only

Will Dinkel <[email protected]> writes:

> Are all interrupts supposed to be handled by CPU0 on x86_64, or is
> something amiss? I'm getting the following on Mandrake Corporate Server
> 2.1:

It's by design. You need irqbalanced.

-Andi

2003-05-10 20:36:18

by Pavel Machek

[permalink] [raw]
Subject: Re: x86_64 interrupts handled by CPU0 only

Hi!

> I see this behavior on systems using either the MSI or Tyan dual-opteron
> boards. I also see it on RedHat's preview x86_64 distribution (kernel
> version 2.4.20-9.2).
>
> I'm still trying to get 2.5.69 to boot correctly, so I don't have
> results there yet. On RedHat it hangs after "Booting the kernel..."
> (and yes, I have CONFIG_VT, and CONFIG_VT_CONSOLE on). Any ideas?

Turn *on* CONFIG_HUGETLB_PAGE or how is it called.
Pavel

--
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]