[SMP] APIC problem with 2.3.99-pre3 on SMP machine (w/ 1 CPU)

From: Martin Andersen (marand@eunet.no)
Date: Thu Mar 30 2000 - 02:55:21 EST


When I try to boot the most recent "2.4-to-be" kernel on a SMP machine
(one CPU only, though), I get a lot of APIC/interrupt errors.
I'm running it on a PII-266 CPU on a 440-FX motherboard.

Due to the fact that these messages fly by at the speed of light ;), I am
unable to be 100% accurate, but here goes:

APIC error
Interrupt accept error

APIC ESR0: 00000004
APIC ESR1: 00000004

(repeated over and over)

The stock 2.2.12 SMP kernel shipped with RedHat 6.1 boots fine.

Here's the dmesg output of that boot:

Linux version 2.2.12-20smp (root@porky.devel.redhat.com) (gcc version
egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 SMP Mon Sep 27
10:34:45 EDT 1999
Intel MultiProcessor Specification v1.1
    Virtual Wire compatibility mode.
OEM ID: INTEL Product ID: 440FX APIC at: 0xFEE00000
Processor #0 Pentium(tm) Pro APIC version 17
I/O APIC #2 Version 17 at 0xFEC00000.
Processors: 1
mapped APIC to ffffe000 (fee00000)
mapped IOAPIC to ffffd000 (fec00000)
Detected 265914750 Hz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 265.42 BogoMIPS
Memory: 62668k/65536k available (1060k kernel code, 420k reserved, 1036k
data, 72k init)
DENTRY hash table entries: 262144 (order: 9, 2097152 bytes)
Buffer-cache hash table entries: 65536 (order: 6, 262144 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
VFS: Diskquotas version dquot_6.4.0 initialized
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.35a (19990819) Richard Gooch (rgooch@atnf.csiro.au)
per-CPU timeslice cutoff: 100.34 usecs.
CPU0: Intel Pentium II (Klamath) stepping 03
calibrating APIC timer ...
..... CPU clock speed is 265.9182 MHz.
..... system bus clock speed is 66.4792 MHz.
Error: only one processor found.
enabling symmetric IO mode... ...done.
ENABLING IO-APIC IRQs
init IO_APIC IRQs
 IO-APIC (apicid-pin) 2-0, 2-20, 2-21, 2-22, 2-23 not connected.
number of MP IRQ sources: 21.
number of IO-APIC #2 registers: 24.
testing the IO APIC.......................

IO APIC #2......
.... register #00: 02000000
....... : physical APIC id: 02
.... register #01: 00170011
....... : max redirection entries: 0017
....... : IO APIC version: 0011
.... register #02: 00000000
....... : arbitration: 00
.... IRQ redirection table:
 NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
 00 000 00 1 0 0 0 0 0 0 00
 01 000 00 0 0 0 0 0 1 1 59
 02 0FF 0F 0 0 0 0 0 1 1 51
 03 000 00 0 0 0 0 0 1 1 61
 04 000 00 0 0 0 0 0 1 1 69
 05 000 00 0 0 0 0 0 1 1 71
 06 000 00 0 0 0 0 0 1 1 79
 07 000 00 0 0 0 0 0 1 1 81
 08 000 00 0 0 0 0 0 1 1 89
 09 000 00 0 0 0 0 0 1 1 91
 0a 000 00 0 0 0 0 0 1 1 99
 0b 000 00 0 0 0 0 0 1 1 A1
 0c 000 00 0 0 0 0 0 1 1 A9
 0d 000 00 1 0 0 0 0 0 0 00
 0e 000 00 0 0 0 0 0 1 1 B1
 0f 000 00 0 0 0 0 0 1 1 B9
 10 0FF 0F 1 1 0 1 0 1 1 C1
 11 0FF 0F 1 1 0 1 0 1 1 C9
 12 0FF 0F 1 1 0 1 0 1 1 D1
 13 0FF 0F 1 1 0 1 0 1 1 D9
 14 000 00 1 0 0 0 0 0 0 00
 15 000 00 1 0 0 0 0 0 0 00
 16 000 00 1 0 0 0 0 0 0 00
 17 000 00 1 0 0 0 0 0 0 00
.................................... done.
PCI: PCI BIOS revision 2.10 entry at 0xfdba1
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI->APIC IRQ transform: (B0,I7,P3) -> 19
PCI->APIC IRQ transform: (B0,I10,P0) -> 16
PCI->APIC IRQ transform: (B0,I12,P0) -> 18
PCI->APIC IRQ transform: (B0,I13,P0) -> 17
PCI: 00:00 [8086/1237]: Passive release enable (00)
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
TCP: Hash tables configured (ehash 65536 bhash 65536)
Initializing RT netlink socket
Starting kswapd v 1.5
Detected PS/2 Mouse Port.
Serial driver version 4.27 with MANY_PORTS MULTIPORT SHARE_IRQ enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
pty: 256 Unix98 ptys configured
Real Time Clock Driver v1.09
RAM disk driver initialized: 16 RAM disks of 4096K size
PIIX3: IDE controller on PCI bus 00 dev 39
PIIX3: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:pio, hdd:pio
hda: FUJITSU MPA3035AT, ATA DISK drive
hdc: TOSHIBA CD-ROM XM-5702B, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: FUJITSU MPA3035AT, 3337MB w/0kB Cache, CHS=847/128/63
hdc: ATAPI 12X CD-ROM drive, 256kB Cache
Uniform CDROM driver Revision: 2.56
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
md driver 0.90.0 MAX_MD_DEVS=256, MAX_REAL=12
raid5: measuring checksumming speed
raid5: MMX detected, trying high-speed MMX checksum routines
   pII_mmx : 595.503 MB/sec
   p5_mmx : 621.411 MB/sec
   8regs : 456.438 MB/sec
   32regs : 268.605 MB/sec
using fastest function: p5_mmx (621.411 MB/sec)
scsi : 0 hosts.
md.c: sizeof(mdp_super_t) = 4096
Partition check:
 hda: hda1 hda2 < hda5 hda6 hda7 hda8 hda9 >
RAMDISK: Compressed image found at block 0
autodetecting RAID arrays
autorun ...
... autorun DONE.
VFS: Mounted root (ext2 filesystem).
autodetecting RAID arrays
autorun ...
... autorun DONE.
VFS: Mounted root (ext2 filesystem) readonly.
change_root: old root has d_count=1
Trying to unmount old root ... okay
Freeing unused kernel memory: 72k freed
Adding Swap: 112856k swap-space (priority -1)
eth0: Intel EtherExpress Pro 10/100 at 0xef80, 00:A0:C9:89:8B:3A, IRQ 16.
  Board assembly 667280-003, Physical connectors present: RJ45
  Primary interface chip i82555 PHY #1.
  General self-test: passed.
  Serial sub-system self-test: passed.
  Internal registers self-test: passed.
  ROM checksum self-test: passed (0x49caa8d6).
  Receiver lock-up workaround activated.
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
nfsd_fh_init : initialized fhcache, entries=1024
VFS: Disk change detected on device ide1(22,0)
VFS: Disk change detected on device ide1(22,0)
VFS: Disk change detected on device ide1(22,0)
VFS: Disk change detected on device ide1(22,0)
VFS: Disk change detected on device ide1(22,0)
VFS: Disk change detected on device ide1(22,0)
VFS: Disk change detected on device ide1(22,0)
VFS: Disk change detected on device ide1(22,0)
VFS: Disk change detected on device ide1(22,0)
VFS: Disk change detected on device ide1(22,0)

I've included a little more output than necessary, because I also wanted
to pinpoint the last "VFS" entries. What the heck is this? I also get it
on a second machine, and I've been unable to get rid of it.

Some more diagnostic output follows ...

"lspci" gives -

00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev
02)
00:07.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
(rev 01)
00:07.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton
II]
00:07.2 USB Controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton
II] (rev 01)
00:0a.0 Ethernet controller: Intel Corporation 82557 (rev 02)
00:0c.0 VGA compatible controller: Matrox Graphics, Inc. MGA 2064W
[Millennium] (rev 01)
00:0d.0 Multimedia audio controller: Ensoniq ES1370 [AudioPCI]

/proc/interrupts gives -

          CPU0
  0: 485956 IO-APIC-edge timer
  1: 2224 IO-APIC-edge keyboard
  2: 0 XT-PIC cascade
  8: 1 IO-APIC-edge rtc
 12: 14426 IO-APIC-edge PS/2 Mouse
 13: 1 XT-PIC fpu
 14: 136305 IO-APIC-edge ide0
 15: 39868 IO-APIC-edge ide1
 16: 7688 IO-APIC-level Intel EtherExpress Pro 10/100 Ethernet
NMI: 0
ERR: 0

And /proc/cpuinfo gives -

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 3
model name : Pentium II (Klamath)
stepping : 3
cpu MHz : 265.914750
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov mmx
bogomips : 265.42

BTW - CC any replies to me directly , as I'm currently not subscribed to
the list.

--
.\\artin (who is hoping for a rock-solid 2.4 release) :)

Research, n.: Consider Columbus: He didn't know where he was going. When he got there he didn't know where he was. When he got back he didn't know where he had been. And he did it all on someone else's money.

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Mar 31 2000 - 21:00:26 EST