Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 May 1999 23:09:39 -0500
From:      Lars Fredriksenshow_toolbar <lars@odin-corporation.com>
To:        Gary Palmer <gpalmer@FreeBSD.ORG>
Cc:        smp@FreeBSD.ORG
Subject:   Re: Interrupts and SMP
Message-ID:  <37423982.56A18CA8@odin-corporation.com>
References:  <61206.927077402@noop.colo.erols.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Gary Palmer wrote:

> Lars Fredriksenshow_toolbar wrote in message ID
> <3741E3F3.4A75F45@odin-corporation.com>:
> >     My SuperMicro P6PNE Dual PPro motherboard still doesn't seem to be
> > able to do SMP with a kernel as of 4am this morning. It appears to be a
> > problem with interrupts from the SCSI controllers not being seen after
> > the second CPU is launched (the same kernel in UP mode runs just fine).
> > Breaking into the kernel debugger once I start seeing the scsi driver
> > complain about timeouts show that I am in the idle loop and the only
> > process running is the swapper.
>
> Which SCSI controller? It wouldn't happen to be one of the older
> 3940's with a PCI bridge, would it?

>

ahc0: <Adaptec 2944 SCSI adapter> at device 19.0 on pci0
ahc0: aic7870 Wide Channel A, SCSI Id=7, 16/255 SCBs
ahc0: interrupting at irq 11
ahc1: <Adaptec 2940 Ultra SCSI adapter> at device 20.0 on pci0
ahc1: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
ahc1: interrupting at irq 5


On irq 11, I also have
de0: <Digital 21140A Fast Ethernet> at device 18.0 on pci0
de0: interrupting at irq 11
and
the vga controller (as reported by BIOS mind you)

On irq 5, I also have
uhci0: interrupting at irq 5

Now, the behaviour is the same if I disable the USB or not. Again, the same
kernel config (minus the SMP stuff of course) runs just fine in UP mode.


Heck, here is the dmesg output with a kernel that showed the same symptoms, but
is two weeks older:
Copyright (c) 1992-1999 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #0: Thu May  6 14:32:13 CDT 1999
    lars@fredriks-2.pr.mcs.net:/u/lars/sandbox3/current_0504/src/sys/compile/LUD

VIG.40.GUS.PRO.UP
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 199432844 Hz
CPU: Pentium Pro (199.43-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x619  Stepping=9
  Features=0xfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV>

real memory  = 134217728 (131072K bytes)
avail memory = 127287296 (124304K bytes)
Preloaded elf kernel "kernel.up" at 0xc0338000.
Pentium Pro MTRR support enabled, default memory type is uncacheable
ccd0-3: Concatenated disk drivers
Probing for PnP devices:
CSN 1 Vendor ID: GRV0001 [0x0100561e] Serial 0x00004e88 Comp ID: PNPb02f [0x2fb0

d041]
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <PCI host bus adapter> on motherboard
pci0: <PCI bus> on pcib0
fredriks-2# dmesg
Copyright (c) 1992-1999 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #0: Thu May  6 14:32:13 CDT 1999

lars@fredriks-2.pr.mcs.net:/u/lars/sandbox3/current_0504/src/sys/compile/LUDVIG.40.GUS.PRO.UP

Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 199432844 Hz
CPU: Pentium Pro (199.43-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x619  Stepping=9
  Features=0xfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV>

real memory  = 134217728 (131072K bytes)
avail memory = 127287296 (124304K bytes)
Preloaded elf kernel "kernel.up" at 0xc0338000.
Pentium Pro MTRR support enabled, default memory type is uncacheable
ccd0-3: Concatenated disk drivers
Probing for PnP devices:
CSN 1 Vendor ID: GRV0001 [0x0100561e] Serial 0x00004e88 Comp ID: PNPb02f
[0x2fb0d041]
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <PCI host bus adapter> on motherboard
pci0: <PCI bus> on pcib0
Correcting Natoma config for non-SMP
chip0: <Intel 82440FX (Natoma) PCI and memory controller> at device 0.0 on pci0
isab0: <Intel 82371SB PCI to ISA bridge> at device 7.0 on pci0
ata-pci0: <Intel PIIX3 IDE controller> at device 7.1 on pci0
ata-pci0: Busmastering DMA supported
ata0 at 0x01f0 irq 14 on ata-pci0
uhci0: <Intel 82371SB (PIIX3) USB Host Controller> at device 7.2 on pci0
uhci0: interrupting at irq 5
usb0: <Intel 82371SB (PIIX3) USB Host Controller> on uhci0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
de0: <Digital 21140A Fast Ethernet> at device 18.0 on pci0
de0: interrupting at irq 11
de0: SMC 9332BDT 21140A [10-100Mb/s] pass 2.0
de0: address 00:e0:29:05:7b:93
ahc0: <Adaptec 2944 SCSI adapter> at device 19.0 on pci0
ahc0: aic7870 Wide Channel A, SCSI Id=7, 16/255 SCBs
ahc0: interrupting at irq 11
ahc1: <Adaptec 2940 Ultra SCSI adapter> at device 20.0 on pci0
ahc1: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
ahc1: interrupting at irq 5
isa0: <ISA bus> on motherboard
fdc0: interrupting at irq 6
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> at fdc0 drive 0
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio0: interrupting at irq 4
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
sio1: interrupting at irq 3
sio2 at port 0x3e8-0x3ef irq 9 flags 0x20000 on isa0
sio2: type ST16650A
sio2: interrupting at irq 9
sio3 at port 0x2e8-0x2ef irq 10 flags 0x20000 on isa0
sio3: type ST16650A
sio3: interrupting at irq 10
atkbdc0: <keyboard controller (i8042)> at port 0x60 on isa0
atkbd0: <AT Keyboard> on atkbdc0
atkbd0: interrupting at irq 1
psm0: <PS/2 Mouse> on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
psm0: interrupting at irq 12
vga0: <Generic ISA VGA> on isa0
sc0: <System console> on isa0
sc0: VGA color <4 virtual consoles, flags=0x0>
Checking for GUS Plug-n-Play ...
Board Vendor ID: GRV0001     Board Serial Number: 00004e88
gus0 at port 0x220 irq 15 drq 5 on isa0
snd0: <GUS PNP (CS4231)> snd0: <Gravis PNP (1024k)>
gus0: interrupting at irq 15
ppc0 at port 0x378-0x37f irq 7 on isa0
ppc0: PC87306 chipset (ECP/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
plip0: <PLIP network interface> on ppbus 0
ppi0: <generic parallel i/o> on ppbus 0
lppps0: <Pulse per second Timing Interface> on ppbus 0
ppc0: interrupting at irq 7
ata0: unwanted interrupt 1 status = 01
afd0: <LS-120 CSMO 05 UHD Floppy/0512C105> rewriteable drive at ata0 as master
afd0: 120MB (246528 sectors), 963 cyls, 8 heads, 32 S/T, 512 B/S
afd0: Unknown media (0x0)
Waiting 8 seconds for SCSI devices to settle
de0: enabling 10baseT port


This motherboard is one of those where the mptable doesn't seem to be what we
expect:

 bogus MP table, 3 IO APIC  pins connected to the same PCI device or ISA/EISA
interrupt
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: Broken MP table detected: 8254  is not connected to IO APIC int pin 2
APIC_IO: routing 8254 via 8259 on pin 0

And the mptable looks like this:

===============================================================================

MPTable, version 2.0.15

-------------------------------------------------------------------------------

MP Floating Pointer Structure:

  location:                     BIOS
  physical address:             0x000fb860
  signature:                    '_MP_'
  length:                       16 bytes
  version:                      1.4
  checksum:                     0x56
  mode:                         Virtual Wire

-------------------------------------------------------------------------------

MP Config Table Header:

  physical address:             0x000f7bc0
  signature:                    'PCMP'
  base table length:            268
  version:                      1.4
  checksum:                     0xbd
  OEM ID:                       'INTEL   '
  Product ID:                   '440FX       '
  OEM table pointer:            0x00000000
  OEM table size:               0
  entry count:                  25
  local APIC address:           0xfee00000
  extended table length:        8
  extended table checksum:      117

-------------------------------------------------------------------------------

MP Config Base Table Entries:

--
Processors:     APIC ID Version State           Family  Model   Step    Flags
                 0       0x11    BSP, usable     6       1       9       0xfbff
                 1       0x11    AP, usable      6       1       7       0xfbff
--
Bus:            Bus ID  Type
                 0       PCI
                 1       ISA
--
I/O APICs:      APIC ID Version State           Address
                 2       0x11    usable          0xfec00000
--
I/O Ints:       Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#
                ExtINT   conforms    conforms        1     0          2    0
                INT      conforms    conforms        1     1          2    1
                INT      conforms    conforms        1     0          2    2
                INT      conforms    conforms        1     3          2    3
                INT      conforms    conforms        1     4          2    4
                INT      conforms    conforms        1     6          2    6
                INT      conforms    conforms        1     7          2    7
                INT      conforms    conforms        1     8          2    8
                INT      conforms    conforms        1     9          2    9
                INT      conforms    conforms        1    10          2   10
                INT      conforms    conforms        1    12          2   12
                INT      conforms    conforms        1    13          2   13
                INT      conforms    conforms        1    14          2   14
                INT      conforms    conforms        1    15          2   20
                INT     active-lo       level        1    11          2   16
                INT     active-lo       level        1    11          2   17
                INT     active-lo       level        1    11          2   18
                INT     active-lo       level        1     5          2   19
--
Local Ints:     Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#
                ExtINT   conforms    conforms        0   0:A        255    0
                NMI      conforms    conforms        0   0:A        255    1

-------------------------------------------------------------------------------

MP Config Extended Table Entries:

--

 bus ID: 1 bus info: 0x01 parent bus ID: 0
-------------------------------------------------------------------------------

# SMP kernel config file options:


# Required:
options         SMP                     # Symmetric MultiProcessor Kernel
options         APIC_IO                 # Symmetric (APIC) I/O

# Optional (built-in defaults will work in most cases):
#options                NCPU=2                  # number of CPUs
#options                NBUS=2                  # number of busses
#options                NAPIC=1                 # number of IO APICs
#options                NINTR=24                # number of INTs

===============================================================================


Ring a bell ???

Lars

>
> Gary
> --
> Gary Palmer                                          FreeBSD Core Team Member
> FreeBSD: Turning PC's into workstations. See http://www.FreeBSD.ORG/ for info
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-smp" in the body of the message



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?37423982.56A18CA8>