Professional Web Applications Themes

Problem with SMP after installing osr507mp - SCO

After installing OSR 5.0.7 Maintenance Pack 1 on a 2-CPU system with SMP installed & licensed, when I reboot the system the hardware inventory has changed, specifically IRQ assignments: The Intel Pro100 adapter and the Parallel PCI card both map to IRQ 5, and the two onboard USB controllers both map to IRQ 9. But on an SMP system with dual APICs, the Pro 100 adapter should get IRQ 17, and the two USB controllers IRQ 18 & 19. After installing MP1, the system is behaving as if there isn't a second APIC available. Funny thing is, the PCI parallel ...

  1. #1

    Default Problem with SMP after installing osr507mp

    After installing OSR 5.0.7 Maintenance Pack 1 on a 2-CPU system
    with SMP installed & licensed, when I reboot the system the hardware
    inventory has changed, specifically IRQ assignments:

    The Intel Pro100 adapter and the Parallel PCI card both map to
    IRQ 5, and the two onboard USB controllers both map to
    IRQ 9.

    But on an SMP system with dual APICs, the Pro 100 adapter
    should get IRQ 17, and the two USB controllers IRQ 18 & 19.

    After installing MP1, the system is behaving as if there isn't a
    second APIC available.

    Funny thing is, the PCI parallel card and the Pro 100 adapter
    still work properly, as far as I can tell.

    Is it safe to leave the system in this state or would I be better
    off uninstalling MP1 with all the fun that entails?

    Bob

    From /usr/adm/messages before MP1 was applied:

    Wed Jul 30 17:03:16 2003
    SCO OpenServer(TM) Release 5

    (C) 1976-2003 Caldera International, Inc. and its suppliers.
    All rights reserved.

    For complete copyright credits,
    enter "copyrights" at the command prompt.

    device address vec dma comment
    ----------------------------------------------------------------------------
    ---
    %kernel - - - rel=3.2v5.0.7 kid=2003-02-18
    %cpu - - - unit=1 family=6 type=Pentium III (model B)
    %cpuid - - - unit=1 vend=GenuineIntel tfms=0:6:11:1(4)
    %fpu - 13 - unit=1 type=80387-compatible
    %pci 0x0CF8-0x0CFF - - am=1 sc=0 buses=3
    %PnP - - - nodes=0
    %clock - - - type=TSC/1.262290818Ghz
    %serial 0x03F8-0x03FF 4 - unit=0 type=Standard nports=1 base=0
    16550A/16
    %serial 0x02F8-0x02FF 3 - unit=1 type=Standard nports=1 base=8
    16550A/16
    %console - - - unit=vga type=0 num=12 scoansi=0 scroll=50
    %apm - - - PM v1.2
    %floppy 0x03F2-0x03F7 6 2 unit=0 type=135ds18
    %floppy - - - unit=1 type=96ds15
    %kbmouse 0x0060-0x0064 12 - type=Keyboard|PS/2 mouse (wheel) id=0x03
    %parallel 0xC000-0xC002 5 - unit=3
    %parallel 0x0378-0x037A 7 - unit=0
    %udi - - - UDI environment
    %adapter - - - ha=0 type=usb_msto UDI SCSI HBA
    %adapter 0x01F0-0x01F7 14 - type=IDE ctlr=primary dvr=wd
    %adapter 0xC000-0xC0FF 10 - type=dpti ha=0 id=7, PCI, v1.12
    %eeE0 0xC400-0xC41F 17 - type=EE PRO/100+ 00:02:b3:a4:2d:5f
    Equinox SuperSerial Technology Device Driver, SCO Release 3.51
    Copyright (c) 1989-1999 Equinox Systems Inc. All Rights Reserved.
    EQNX: Driver Enabled for 1 board(s).
    %cd-rom - - - type=IDE unit=0 ctlr=pri cfg=mst
    dvr=Srom->wd
    %tape - - - type=S ha=0 id=3 lun=0 bus=1 ht=dpti unit=0
    %disk - - - type=S ha=0 id=0 lun=0 bus=0 ht=dpti unit=0
    %Sdsk - - - cyls=2231 hds=255 secs=63 unit=0
    %Sdsk-0 - - - Vnd=ADAPTEC Prd=RAID-1 Rev=370F
    %usb_uhci - 18 - PCI bus=0 dev=7 func=2
    %usb_uhci - 19 - PCI bus=0 dev=7 func=3
    DoubleVision for SCO UNIX 3.2.5 System V/386, Driver Version 5.0.0-MP
    mem: total = 523832k, kernel = 75228k, user = 448604k
    swapdev = 1/41, swplo = 0, nswap = 2096240, swapmem = 1048120k
    rootdev = 1/42, pipedev = 1/42, dumpdev = 1/41
    kernel: Hz = 100, i/o bufs = 51912k (high bufs = 50888k)

    %cpu - 255 - unit=2 family=6 type=Pentium III (model B)
    %cpuid - - - unit=2 vend=GenuineIntel tfms=0:6:11:1(4)
    %fpu - - - unit=2 type=80387-compatible
    %Stp-0 - - - Vnd=SONY Prd=SDT-11000 Rev=0200
    %Srom-0 - - - Vnd=TOSHIBA Prd=CD-ROM XM-6402B Rev=1008


    From /usr/adm/messages after MP1 was applied:

    Thu Jul 31 16:00:37 2003
    SCO OpenServer(TM) Release 5

    (C) 1976-2003 Caldera International, Inc. and its suppliers.
    All rights reserved.

    For complete copyright credits,
    enter "copyrights" at the command prompt.

    device address vec dma comment
    ----------------------------------------------------------------------------
    ---
    %kernel - - - rel=3.2v5.0.7 kid=2003-02-18
    %cpu - - - unit=1 family=6 type=Pentium III (model B)
    %cpuid - - - unit=1 vend=GenuineIntel tfms=0:6:11:1(4)
    %fpu - 13 - unit=1 type=80387-compatible
    %pci 0x0CF8-0x0CFF - - am=1 sc=0 buses=3
    %PnP - - - nodes=0
    %clock - - - type=TSC/1.262290834Ghz
    %serial 0x03F8-0x03FF 4 - unit=0 type=Standard nports=1 base=0
    16550A/16
    %serial 0x02F8-0x02FF 3 - unit=1 type=Standard nports=1 base=8
    16550A/16
    %console - - - unit=vga type=0 num=12 scoansi=0 scroll=50
    %apm - - - PM v1.2
    %floppy 0x03F2-0x03F7 6 2 unit=0 type=135ds18
    %floppy - - - unit=1 type=96ds15
    %kbmouse 0x0060-0x0064 12 - type=Keyboard|PS/2 mouse (wheel) id=0x03
    %parallel 0xC000-0xC002 5 - unit=3
    %parallel 0x0378-0x037A 7 - unit=0
    %udi - - - UDI environment
    %adapter - - - ha=0 type=usb_msto UDI SCSI HBA
    %adapter 0x01F0-0x01F7 14 - type=IDE ctlr=primary dvr=wd
    %adapter 0xC000-0xC0FF 10 - type=dpti ha=0 id=7, PCI, v1.12
    %eeE0 0xC400-0xC41F 5 - type=EE PRO/100+ 00:02:b3:a4:2d:5f
    Equinox SuperSerial Technology Device Driver, SCO Release 3.51
    Copyright (c) 1989-1999 Equinox Systems Inc. All Rights Reserved.
    EQNX: Driver Enabled for 1 board(s).
    %cd-rom - - - type=IDE unit=0 ctlr=pri cfg=mst
    dvr=Srom->wd
    %tape - - - type=S ha=0 id=3 lun=0 bus=1 ht=dpti unit=0
    WARNING: move_fixed:cannot add 0xF00B05DC to vector 5 - cannot share
    WARNING: Handler 0xF00B05DC was not placed on vector 0x00000005
    %disk - - - type=S ha=0 id=0 lun=0 bus=0 ht=dpti unit=0
    %Sdsk - - - cyls=2231 hds=255 secs=63 unit=0
    %Sdsk-0 - - - Vnd=ADAPTEC Prd=RAID-1 Rev=370F
    %usb_uhci - 9 - PCI bus=0 dev=7 func=2
    %usb_uhci - 9 - PCI bus=0 dev=7 func=3
    DoubleVision for SCO UNIX 3.2.5 System V/386, Driver Version 5.0.0-MP
    mem: total = 523832k, kernel = 75232k, user = 448600k
    swapdev = 1/41, swplo = 0, nswap = 2096240, swapmem = 1048120k
    Autoboot from rootdev = 1/42, pipedev = 1/42, dumpdev = 1/41
    kernel: Hz = 100, i/o bufs = 51908k (high bufs = 50884k)

    %cpu - 255 - unit=2 family=6 type=Pentium III (model B)
    %cpuid - - - unit=2 vend=GenuineIntel tfms=0:6:11:1(4)
    %fpu - - - unit=2 type=80387-compatible
    Thu Jul 31 16:00:45 2003
    %Stp-0 - - - Vnd=SONY Prd=SDT-11000 Rev=0200
    %Srom-0 - - - Vnd=TOSHIBA Prd=CD-ROM XM-6402B Rev=1008


    Bob Bailin Guest

  2. #2

    Default Re: Problem with SMP after installing osr507mp

    Bob Bailin wrote:
    > After installing OSR 5.0.7 Maintenance Pack 1 on a 2-CPU system
    > with SMP installed & licensed, when I reboot the system the hardware
    > inventory has changed, specifically IRQ assignments:
    >
    > The Intel Pro100 adapter and the Parallel PCI card both map to
    > IRQ 5, and the two onboard USB controllers both map to
    > IRQ 9.
    >
    > But on an SMP system with dual APICs, the Pro 100 adapter
    > should get IRQ 17, and the two USB controllers IRQ 18 & 19.
    >
    > After installing MP1, the system is behaving as if there isn't a
    > second APIC available.
    >
    > Funny thing is, the PCI parallel card and the Pro 100 adapter
    > still work properly, as far as I can tell.
    >
    > Is it safe to leave the system in this state or would I be better
    > off uninstalling MP1 with all the fun that entails?
    Have you observed an actual problem, or are you only worried because the
    IRQ numbers changed?

    MP1 does make some big changes in this area. Before MP1, the kernel was
    handing out fake IRQ numbers to devices because IRQ numbers were handed
    out before SMP IRQ routing had been figured out. Later it figured out
    that the hardware wasn't going to distinguish between those IRQs, so it
    would have to invoke multiple drivers' ISRs anyway. In MP1, SMP IRQ
    routing is figured out earlier, the kernel doesn't have to give out
    bogus IRQ numbers, and the display reflects this.

    Run `hw -v -r pci -r mp` and see if it looks like the kernel really
    should be able to distinguish between the two USB IRQs; between the
    Pro100 and the parallel IRQs.

    Oh wait -- I see there's an error message that may be coming from the
    Equinox card?
    > WARNING: move_fixed:cannot add 0xF00B05DC to vector 5 - cannot share
    > WARNING: Handler 0xF00B05DC was not placed on vector 0x00000005
    The pre-MP1 output doesn't show any IRQ information about the Equinox.
    It isn't playing nice and doing a printcfg().

    I think what you're seeing here is that the Equinox and parallel ports
    have always been sharing an IRQ in a manner which was in fact very
    dangerous (or, at least, one of the two drivers states that it cannot
    share). Previously the kernel didn't notice this because it was
    confused by the bogus IRQ numbers being different. Now the kernel
    notices and prevents it.

    This symptom can probably be "fixed" by changing the IRQ "type" or "IPL"
    field of the Equinox driver. "pa" (the parallel driver) says it's type
    4, "Multiple device drivers having the same IPL can share this
    interrupt"; and IPL 2. Look in fields 4 and 5 of
    /etc/conf/sdevice.d/[equinox driver]. They need to match "pa" if
    everything is going to work. Use the _higher_ IPL of the two -- if the
    Equinox driver is IPL 6, change "pa" to IPL 6. If it's a different
    type, change it to 4.

    BEWARE, this is playing with fire, you are likely to get burned.
    >Bela<
    > From /usr/adm/messages before MP1 was applied:
    >
    > Wed Jul 30 17:03:16 2003
    > SCO OpenServer(TM) Release 5
    >
    > (C) 1976-2003 Caldera International, Inc. and its suppliers.
    > All rights reserved.
    >
    > For complete copyright credits,
    > enter "copyrights" at the command prompt.
    >
    > device address vec dma comment
    > -------------------------------------------------------------------------------
    > %kernel - - - rel=3.2v5.0.7 kid=2003-02-18
    > %cpu - - - unit=1 family=6 type=Pentium III (model B)
    > %cpuid - - - unit=1 vend=GenuineIntel tfms=0:6:11:1(4)
    > %fpu - 13 - unit=1 type=80387-compatible
    > %pci 0x0CF8-0x0CFF - - am=1 sc=0 buses=3
    > %PnP - - - nodes=0
    > %clock - - - type=TSC/1.262290818Ghz
    > %serial 0x03F8-0x03FF 4 - unit=0 type=Standard nports=1 base=0 16550A/16
    > %serial 0x02F8-0x02FF 3 - unit=1 type=Standard nports=1 base=8 16550A/16
    > %console - - - unit=vga type=0 num=12 scoansi=0 scroll=50
    > %apm - - - PM v1.2
    > %floppy 0x03F2-0x03F7 6 2 unit=0 type=135ds18
    > %floppy - - - unit=1 type=96ds15
    > %kbmouse 0x0060-0x0064 12 - type=Keyboard|PS/2 mouse (wheel) id=0x03
    > %parallel 0xC000-0xC002 5 - unit=3
    > %parallel 0x0378-0x037A 7 - unit=0
    > %udi - - - UDI environment
    > %adapter - - - ha=0 type=usb_msto UDI SCSI HBA
    > %adapter 0x01F0-0x01F7 14 - type=IDE ctlr=primary dvr=wd
    > %adapter 0xC000-0xC0FF 10 - type=dpti ha=0 id=7, PCI, v1.12
    > %eeE0 0xC400-0xC41F 17 - type=EE PRO/100+ 00:02:b3:a4:2d:5f
    > Equinox SuperSerial Technology Device Driver, SCO Release 3.51
    > Copyright (c) 1989-1999 Equinox Systems Inc. All Rights Reserved.
    > EQNX: Driver Enabled for 1 board(s).
    > %cd-rom - - - type=IDE unit=0 ctlr=pri cfg=mst dvr=Srom->wd
    > %tape - - - type=S ha=0 id=3 lun=0 bus=1 ht=dpti unit=0
    > %disk - - - type=S ha=0 id=0 lun=0 bus=0 ht=dpti unit=0
    > %Sdsk - - - cyls=2231 hds=255 secs=63 unit=0
    > %Sdsk-0 - - - Vnd=ADAPTEC Prd=RAID-1 Rev=370F
    > %usb_uhci - 18 - PCI bus=0 dev=7 func=2
    > %usb_uhci - 19 - PCI bus=0 dev=7 func=3
    > DoubleVision for SCO UNIX 3.2.5 System V/386, Driver Version 5.0.0-MP
    > mem: total = 523832k, kernel = 75228k, user = 448604k
    > swapdev = 1/41, swplo = 0, nswap = 2096240, swapmem = 1048120k
    > rootdev = 1/42, pipedev = 1/42, dumpdev = 1/41
    > kernel: Hz = 100, i/o bufs = 51912k (high bufs = 50888k)
    >
    > %cpu - 255 - unit=2 family=6 type=Pentium III (model B)
    > %cpuid - - - unit=2 vend=GenuineIntel tfms=0:6:11:1(4)
    > %fpu - - - unit=2 type=80387-compatible
    > %Stp-0 - - - Vnd=SONY Prd=SDT-11000 Rev=0200
    > %Srom-0 - - - Vnd=TOSHIBA Prd=CD-ROM XM-6402B Rev=1008
    >
    >
    > From /usr/adm/messages after MP1 was applied:
    >
    > Thu Jul 31 16:00:37 2003
    > SCO OpenServer(TM) Release 5
    >
    > (C) 1976-2003 Caldera International, Inc. and its suppliers.
    > All rights reserved.
    >
    > For complete copyright credits,
    > enter "copyrights" at the command prompt.
    >
    > device address vec dma comment
    > -------------------------------------------------------------------------------
    > %kernel - - - rel=3.2v5.0.7 kid=2003-02-18
    > %cpu - - - unit=1 family=6 type=Pentium III (model B)
    > %cpuid - - - unit=1 vend=GenuineIntel tfms=0:6:11:1(4)
    > %fpu - 13 - unit=1 type=80387-compatible
    > %pci 0x0CF8-0x0CFF - - am=1 sc=0 buses=3
    > %PnP - - - nodes=0
    > %clock - - - type=TSC/1.262290834Ghz
    > %serial 0x03F8-0x03FF 4 - unit=0 type=Standard nports=1 base=0 16550A/16
    > %serial 0x02F8-0x02FF 3 - unit=1 type=Standard nports=1 base=8 16550A/16
    > %console - - - unit=vga type=0 num=12 scoansi=0 scroll=50
    > %apm - - - PM v1.2
    > %floppy 0x03F2-0x03F7 6 2 unit=0 type=135ds18
    > %floppy - - - unit=1 type=96ds15
    > %kbmouse 0x0060-0x0064 12 - type=Keyboard|PS/2 mouse (wheel) id=0x03
    > %parallel 0xC000-0xC002 5 - unit=3
    > %parallel 0x0378-0x037A 7 - unit=0
    > %udi - - - UDI environment
    > %adapter - - - ha=0 type=usb_msto UDI SCSI HBA
    > %adapter 0x01F0-0x01F7 14 - type=IDE ctlr=primary dvr=wd
    > %adapter 0xC000-0xC0FF 10 - type=dpti ha=0 id=7, PCI, v1.12
    > %eeE0 0xC400-0xC41F 5 - type=EE PRO/100+ 00:02:b3:a4:2d:5f
    > Equinox SuperSerial Technology Device Driver, SCO Release 3.51
    > Copyright (c) 1989-1999 Equinox Systems Inc. All Rights Reserved.
    > EQNX: Driver Enabled for 1 board(s).
    > %cd-rom - - - type=IDE unit=0 ctlr=pri cfg=mst dvr=Srom->wd
    > %tape - - - type=S ha=0 id=3 lun=0 bus=1 ht=dpti unit=0
    > WARNING: move_fixed:cannot add 0xF00B05DC to vector 5 - cannot share
    > WARNING: Handler 0xF00B05DC was not placed on vector 0x00000005
    > %disk - - - type=S ha=0 id=0 lun=0 bus=0 ht=dpti unit=0
    > %Sdsk - - - cyls=2231 hds=255 secs=63 unit=0
    > %Sdsk-0 - - - Vnd=ADAPTEC Prd=RAID-1 Rev=370F
    > %usb_uhci - 9 - PCI bus=0 dev=7 func=2
    > %usb_uhci - 9 - PCI bus=0 dev=7 func=3
    > DoubleVision for SCO UNIX 3.2.5 System V/386, Driver Version 5.0.0-MP
    > mem: total = 523832k, kernel = 75232k, user = 448600k
    > swapdev = 1/41, swplo = 0, nswap = 2096240, swapmem = 1048120k
    > Autoboot from rootdev = 1/42, pipedev = 1/42, dumpdev = 1/41
    > kernel: Hz = 100, i/o bufs = 51908k (high bufs = 50884k)
    >
    > %cpu - 255 - unit=2 family=6 type=Pentium III (model B)
    > %cpuid - - - unit=2 vend=GenuineIntel tfms=0:6:11:1(4)
    > %fpu - - - unit=2 type=80387-compatible
    > Thu Jul 31 16:00:45 2003
    > %Stp-0 - - - Vnd=SONY Prd=SDT-11000 Rev=0200
    > %Srom-0 - - - Vnd=TOSHIBA Prd=CD-ROM XM-6402B Rev=1008
    Bela Lubkin Guest

  3. #3

    Default Re: Problem with SMP after installing osr507mp

    Bob Bailin wrote:
    > > After installing OSR 5.0.7 Maintenance Pack 1 on a 2-CPU system
    > > with SMP installed & licensed, when I reboot the system the hardware
    > > inventory has changed, specifically IRQ assignments:
    > >
    > > The Intel Pro100 adapter and the Parallel PCI card both map to
    > > IRQ 5, and the two onboard USB controllers both map to
    > > IRQ 9.
    > >
    > > But on an SMP system with dual APICs, the Pro 100 adapter
    > > should get IRQ 17, and the two USB controllers IRQ 18 & 19.
    > >
    > > After installing MP1, the system is behaving as if there isn't a
    > > second APIC available.
    > >
    > > Funny thing is, the PCI parallel card and the Pro 100 adapter
    > > still work properly, as far as I can tell.
    > >
    > > Is it safe to leave the system in this state or would I be better
    > > off uninstalling MP1 with all the fun that entails?
    I replied:
    > Have you observed an actual problem, or are you only worried because the
    > IRQ numbers changed?
    >
    > MP1 does make some big changes in this area. Before MP1, the kernel was
    > handing out fake IRQ numbers to devices because IRQ numbers were handed
    > out before SMP IRQ routing had been figured out. Later it figured out
    > that the hardware wasn't going to distinguish between those IRQs, so it
    > would have to invoke multiple drivers' ISRs anyway. In MP1, SMP IRQ
    > routing is figured out earlier, the kernel doesn't have to give out
    > bogus IRQ numbers, and the display reflects this.
    >
    > Run `hw -v -r pci -r mp` and see if it looks like the kernel really
    > should be able to distinguish between the two USB IRQs; between the
    > Pro100 and the parallel IRQs.
    >
    > Oh wait -- I see there's an error message that may be coming from the
    > Equinox card?
    >
    > > WARNING: move_fixed:cannot add 0xF00B05DC to vector 5 - cannot share
    > > WARNING: Handler 0xF00B05DC was not placed on vector 0x00000005
    >
    > The pre-MP1 output doesn't show any IRQ information about the Equinox.
    > It isn't playing nice and doing a printcfg().
    >
    > I think what you're seeing here is that the Equinox and parallel ports
    > have always been sharing an IRQ in a manner which was in fact very
    > dangerous (or, at least, one of the two drivers states that it cannot
    > share). Previously the kernel didn't notice this because it was
    > confused by the bogus IRQ numbers being different. Now the kernel
    > notices and prevents it.
    >
    > This symptom can probably be "fixed" by changing the IRQ "type" or "IPL"
    > field of the Equinox driver. "pa" (the parallel driver) says it's type
    > 4, "Multiple device drivers having the same IPL can share this
    > interrupt"; and IPL 2. Look in fields 4 and 5 of
    > /etc/conf/sdevice.d/[equinox driver]. They need to match "pa" if
    > everything is going to work. Use the _higher_ IPL of the two -- if the
    > Equinox driver is IPL 6, change "pa" to IPL 6. If it's a different
    > type, change it to 4.
    >
    > BEWARE, this is playing with fire, you are likely to get burned.
    One of my coworkers comments:

    " the displayintr command is a great tool for the customer to use in
    " this case. I want every customer with an SMP system to become aware of
    " it.
    "
    " Because the PCI interrupts changed from >15 numbers to 0-15 numbers
    " when MP1 was applied, that means that their BIOS is only putting ISA
    " interrupt entries in the MPS table. Prior to MP1 that resulted in
    " hidden IRQ sharing between ISA devices and PCI devices.
    "
    " They need to modify the BIOS config to generate an MPS table with both
    " PCI and ISA entries. On a Compaq they go to "Advanced Options, MPS
    " Table Mode" and change it to "Full Table APIC". Some really old BIOS's
    " are stuck in the ISA only world, but I see that this customer has fast
    " Pentium III processors, so their BIOS should be able to generate PCI
    " entries.
    "
    " If they stick with an ISA-only MPS table, then in the BIOS they should
    " make IRQ5 unavailable to PCI devices.

    The last bit of advice here isn't actually helpful in this case, because
    the shared IRQ 5 is being shared between two PCI devices -- parallel and
    NIC:
    > > %parallel 0xC000-0xC002 5 - unit=3
    > > %eeE0 0xC400-0xC41F 5 - type=EE PRO/100+ 00:02:b3:a4:2d:5f
    -- and possibly the Equinox card which doesn't announce its IRQ. The
    complaint is:
    > > WARNING: move_fixed:cannot add 0xF00B05DC to vector 5 - cannot share
    > > WARNING: Handler 0xF00B05DC was not placed on vector 0x00000005
    My advice about reconciling the IRQ setup for the parallel and Equinox
    drivers was wrong or potentially wrong. I thought the bad sharing was
    between parallel and Equinox; apparently it is between parallel and eeE
    (and possible Equinox as well). eeE uses interrupt sharing type 4 (same
    as "pa"), and IPL 5. These aren't listed in its sdevice entry, it uses
    a kernel registration function to set them. To get it to share with
    "pa" you would probably have to change "pa"'s IPL to 5.

    But do check BIOS setup for the ability to turn on full APIC tables. If
    you do that, the parallel and NIC devices will probably show up with
    different IRQs, and this time they'll really be _separate_, not shared
    behind the scenes.
    >Bela<
    Bela Lubkin Guest

  4. #4

    Default Re: Problem with SMP after installing osr507mp


    "Bela Lubkin" <belalsco.com> wrote in message
    news:20030801010220.GW24551sco.com...
    > Bob Bailin wrote:
    >
    > > > After installing OSR 5.0.7 Maintenance Pack 1 on a 2-CPU system
    > > > with SMP installed & licensed, when I reboot the system the hardware
    > > > inventory has changed, specifically IRQ assignments:
    > > >
    > > > The Intel Pro100 adapter and the Parallel PCI card both map to
    > > > IRQ 5, and the two onboard USB controllers both map to
    > > > IRQ 9.
    > > >
    > > > But on an SMP system with dual APICs, the Pro 100 adapter
    > > > should get IRQ 17, and the two USB controllers IRQ 18 & 19.
    > > >
    > > > After installing MP1, the system is behaving as if there isn't a
    > > > second APIC available.
    > > >
    > > > Funny thing is, the PCI parallel card and the Pro 100 adapter
    > > > still work properly, as far as I can tell.
    > > >
    > > > Is it safe to leave the system in this state or would I be better
    > > > off uninstalling MP1 with all the fun that entails?
    >
    > I replied:
    >
    > > Have you observed an actual problem, or are you only worried because the
    > > IRQ numbers changed?
    > >
    > > MP1 does make some big changes in this area. Before MP1, the kernel was
    > > handing out fake IRQ numbers to devices because IRQ numbers were handed
    > > out before SMP IRQ routing had been figured out. Later it figured out
    > > that the hardware wasn't going to distinguish between those IRQs, so it
    > > would have to invoke multiple drivers' ISRs anyway. In MP1, SMP IRQ
    > > routing is figured out earlier, the kernel doesn't have to give out
    > > bogus IRQ numbers, and the display reflects this.
    > >
    > > Run `hw -v -r pci -r mp` and see if it looks like the kernel really
    > > should be able to distinguish between the two USB IRQs; between the
    > > Pro100 and the parallel IRQs.
    > >
    > > Oh wait -- I see there's an error message that may be coming from the
    > > Equinox card?
    > >
    > > > WARNING: move_fixed:cannot add 0xF00B05DC to vector 5 - cannot share
    > > > WARNING: Handler 0xF00B05DC was not placed on vector 0x00000005
    > >
    > > The pre-MP1 output doesn't show any IRQ information about the Equinox.
    > > It isn't playing nice and doing a printcfg().
    > >
    > > I think what you're seeing here is that the Equinox and parallel ports
    > > have always been sharing an IRQ in a manner which was in fact very
    > > dangerous (or, at least, one of the two drivers states that it cannot
    > > share). Previously the kernel didn't notice this because it was
    > > confused by the bogus IRQ numbers being different. Now the kernel
    > > notices and prevents it.
    > >
    > > This symptom can probably be "fixed" by changing the IRQ "type" or "IPL"
    > > field of the Equinox driver. "pa" (the parallel driver) says it's type
    > > 4, "Multiple device drivers having the same IPL can share this
    > > interrupt"; and IPL 2. Look in fields 4 and 5 of
    > > /etc/conf/sdevice.d/[equinox driver]. They need to match "pa" if
    > > everything is going to work. Use the _higher_ IPL of the two -- if the
    > > Equinox driver is IPL 6, change "pa" to IPL 6. If it's a different
    > > type, change it to 4.
    > >
    > > BEWARE, this is playing with fire, you are likely to get burned.
    >
    > One of my coworkers comments:
    >
    > " the displayintr command is a great tool for the customer to use in
    > " this case. I want every customer with an SMP system to become aware of
    > " it.
    > "
    > " Because the PCI interrupts changed from >15 numbers to 0-15 numbers
    > " when MP1 was applied, that means that their BIOS is only putting ISA
    > " interrupt entries in the MPS table. Prior to MP1 that resulted in
    > " hidden IRQ sharing between ISA devices and PCI devices.
    > "
    > " They need to modify the BIOS config to generate an MPS table with both
    > " PCI and ISA entries. On a Compaq they go to "Advanced Options, MPS
    > " Table Mode" and change it to "Full Table APIC". Some really old BIOS's
    > " are stuck in the ISA only world, but I see that this customer has fast
    > " Pentium III processors, so their BIOS should be able to generate PCI
    > " entries.
    > "
    > " If they stick with an ISA-only MPS table, then in the BIOS they should
    > " make IRQ5 unavailable to PCI devices.
    >
    > The last bit of advice here isn't actually helpful in this case, because
    > the shared IRQ 5 is being shared between two PCI devices -- parallel and
    > NIC:
    >
    > > > %parallel 0xC000-0xC002 5 - unit=3
    > > > %eeE0 0xC400-0xC41F 5 - type=EE PRO/100+ 00:02:b3:a4:2d:5f
    >
    > -- and possibly the Equinox card which doesn't announce its IRQ. The
    > complaint is:
    >
    > > > WARNING: move_fixed:cannot add 0xF00B05DC to vector 5 - cannot share
    > > > WARNING: Handler 0xF00B05DC was not placed on vector 0x00000005
    >
    To the best of my recollection, Equinox cards *do not* use IRQs;
    they are memory mapped devices. (This one is an SST-128P.)
    The warning messages from eeE are just a little late in displaying.

    I've seen this problem before on a non-SMP test system where the Intel Pro
    100
    card was plugged into a PCI slot that shared its IRQ with a PCI parallel
    card. The
    quick & easy solution was to move the Intel card to another slot. I probably
    could also have re-assigned the IRQ thru BIOS setup. On this current machine
    there are no other free IRQs (IRQ 11 is used by the PCI video adapter).
    It would become a question of which of the other PCI drivers would get
    along better with the eEE driver at sharing, if any.

    My concern is that the 2 warnings above may indicate that the Intel card may
    be
    running without benefit of an IRQ (similar to polled mode for badly
    configured
    parallel ports?). This possibly impaired mode may only show itself under
    heavier loads; I haven't tried to test it yet.

    I'm surprised that the eeE driver complains about sharing IRQs.
    IRQ's on (EISA and) PCI busses are supposed to be shareable if they're
    configured as level-triggered, not edge-triggered like on the ISA bus.
    > My advice about reconciling the IRQ setup for the parallel and Equinox
    > drivers was wrong or potentially wrong. I thought the bad sharing was
    > between parallel and Equinox; apparently it is between parallel and eeE
    > (and possible Equinox as well). eeE uses interrupt sharing type 4 (same
    > as "pa"), and IPL 5. These aren't listed in its sdevice entry, it uses
    > a kernel registration function to set them. To get it to share with
    > "pa" you would probably have to change "pa"'s IPL to 5.
    >
    > But do check BIOS setup for the ability to turn on full APIC tables. If
    > you do that, the parallel and NIC devices will probably show up with
    > different IRQs, and this time they'll really be _separate_, not shared
    > behind the scenes.
    I don't remember seeing any APIC options in the AMI BIOS for this
    Gigabyte GA-6VTXD motherboard, but I'll check. I'll also report the
    output of displayintr.


    Bob Bailin Guest

  5. #5

    Default Re: Problem with SMP after installing osr507mp


    "Bela Lubkin" <belalsco.com> wrote in message
    news:20030801010220.GW24551sco.com...
    > Bob Bailin wrote:
    >
    > > > After installing OSR 5.0.7 Maintenance Pack 1 on a 2-CPU system
    > > > with SMP installed & licensed, when I reboot the system the hardware
    > > > inventory has changed, specifically IRQ assignments:
    > > >
    > > > The Intel Pro100 adapter and the Parallel PCI card both map to
    > > > IRQ 5, and the two onboard USB controllers both map to
    > > > IRQ 9.
    > > >
    > > > But on an SMP system with dual APICs, the Pro 100 adapter
    > > > should get IRQ 17, and the two USB controllers IRQ 18 & 19.
    > > >
    > > > After installing MP1, the system is behaving as if there isn't a
    > > > second APIC available.
    > > >
    > > > Funny thing is, the PCI parallel card and the Pro 100 adapter
    > > > still work properly, as far as I can tell.
    > > >
    > > > Is it safe to leave the system in this state or would I be better
    > > > off uninstalling MP1 with all the fun that entails?
    >
    > I replied:
    >
    > > Have you observed an actual problem, or are you only worried because the
    > > IRQ numbers changed?
    > >
    > > MP1 does make some big changes in this area. Before MP1, the kernel was
    > > handing out fake IRQ numbers to devices because IRQ numbers were handed
    > > out before SMP IRQ routing had been figured out. Later it figured out
    > > that the hardware wasn't going to distinguish between those IRQs, so it
    > > would have to invoke multiple drivers' ISRs anyway. In MP1, SMP IRQ
    > > routing is figured out earlier, the kernel doesn't have to give out
    > > bogus IRQ numbers, and the display reflects this.
    > >
    > > Run `hw -v -r pci -r mp` and see if it looks like the kernel really
    > > should be able to distinguish between the two USB IRQs; between the
    > > Pro100 and the parallel IRQs.
    > >
    > > Oh wait -- I see there's an error message that may be coming from the
    > > Equinox card?
    > >
    > > > WARNING: move_fixed:cannot add 0xF00B05DC to vector 5 - cannot share
    > > > WARNING: Handler 0xF00B05DC was not placed on vector 0x00000005
    > >
    > > The pre-MP1 output doesn't show any IRQ information about the Equinox.
    > > It isn't playing nice and doing a printcfg().
    > >
    > > I think what you're seeing here is that the Equinox and parallel ports
    > > have always been sharing an IRQ in a manner which was in fact very
    > > dangerous (or, at least, one of the two drivers states that it cannot
    > > share). Previously the kernel didn't notice this because it was
    > > confused by the bogus IRQ numbers being different. Now the kernel
    > > notices and prevents it.
    > >
    > > This symptom can probably be "fixed" by changing the IRQ "type" or "IPL"
    > > field of the Equinox driver. "pa" (the parallel driver) says it's type
    > > 4, "Multiple device drivers having the same IPL can share this
    > > interrupt"; and IPL 2. Look in fields 4 and 5 of
    > > /etc/conf/sdevice.d/[equinox driver]. They need to match "pa" if
    > > everything is going to work. Use the _higher_ IPL of the two -- if the
    > > Equinox driver is IPL 6, change "pa" to IPL 6. If it's a different
    > > type, change it to 4.
    > >
    > > BEWARE, this is playing with fire, you are likely to get burned.
    >
    > One of my coworkers comments:
    >
    > " the displayintr command is a great tool for the customer to use in
    > " this case. I want every customer with an SMP system to become aware of
    > " it.
    > "
    > " Because the PCI interrupts changed from >15 numbers to 0-15 numbers
    > " when MP1 was applied, that means that their BIOS is only putting ISA
    > " interrupt entries in the MPS table. Prior to MP1 that resulted in
    > " hidden IRQ sharing between ISA devices and PCI devices.
    > "
    > " They need to modify the BIOS config to generate an MPS table with both
    > " PCI and ISA entries. On a Compaq they go to "Advanced Options, MPS
    > " Table Mode" and change it to "Full Table APIC". Some really old BIOS's
    > " are stuck in the ISA only world, but I see that this customer has fast
    > " Pentium III processors, so their BIOS should be able to generate PCI
    > " entries.
    > "
    > " If they stick with an ISA-only MPS table, then in the BIOS they should
    > " make IRQ5 unavailable to PCI devices.
    >
    > The last bit of advice here isn't actually helpful in this case, because
    > the shared IRQ 5 is being shared between two PCI devices -- parallel and
    > NIC:
    >
    > > > %parallel 0xC000-0xC002 5 - unit=3
    > > > %eeE0 0xC400-0xC41F 5 - type=EE PRO/100+ 00:02:b3:a4:2d:5f
    >
    > -- and possibly the Equinox card which doesn't announce its IRQ. The
    > complaint is:
    >
    > > > WARNING: move_fixed:cannot add 0xF00B05DC to vector 5 - cannot share
    > > > WARNING: Handler 0xF00B05DC was not placed on vector 0x00000005
    >
    > My advice about reconciling the IRQ setup for the parallel and Equinox
    > drivers was wrong or potentially wrong. I thought the bad sharing was
    > between parallel and Equinox; apparently it is between parallel and eeE
    > (and possible Equinox as well). eeE uses interrupt sharing type 4 (same
    > as "pa"), and IPL 5. These aren't listed in its sdevice entry, it uses
    > a kernel registration function to set them. To get it to share with
    > "pa" you would probably have to change "pa"'s IPL to 5.
    >
    > But do check BIOS setup for the ability to turn on full APIC tables. If
    > you do that, the parallel and NIC devices will probably show up with
    > different IRQs, and this time they'll really be _separate_, not shared
    > behind the scenes.
    >
    > >Bela<
    Output of displayintr:

    /usr/adm> displayintr
    Vec no CPU Number
    1 2
    0 clock (F) clock (F)
    1 cnintr (F)
    3 siointr (F)
    4 siointr (F)
    5 eeEintr (F)
    6 flintr (F)
    7 paintr (F)
    9 udi_intr (SMF)
    udi_intr (SMF)
    10 dptiintr (M) dptiintr (M)
    12 kbmintr (F)
    13 fpintr (F)
    14 wdintr (M) wdintr (M)
    254 intnull (F) intnull (F)
    255 ci__intr (F) ci__intr (F)

    I'm surprised to see eeEintr controling IRQ 5 and no mention of paintr,
    especially considering those warning messages during startup.

    Output of hw -v -r pci -r mp: Not Attached (I tried, but the 22K text
    attachment
    not allowing this reply to post. I'll email it to you directly.)

    A little more output than I was expecting to digest.
    As you can see, the Equinox board doesn't use an IRQ. (Also
    confirmed by the sdevice.d\eqnx file.)
    Devices that are enabled but not configured into the kernel as drivers
    include a PCI video adapter (IRQ 11) and an onboard audio chipset (IRQ 10).

    I noticed that the pa driver has an IPL of 2. If I bump it up to 5 to match
    that of the eeE driver, will it have an adverse effect on the system every
    time I print to that printer? Do I have to change all 3 entries, or can I
    leave the 3rd line for the standard parallel port (IRQ 7) at IPL 2?

    Bob



    Bob Bailin Guest

Similar Threads

  1. Problem Installing
    By WECrusher in forum Macromedia Flash Player
    Replies: 1
    Last Post: March 11th, 08:18 PM
  2. Problem installing on Mac OS 10
    By Abundant Well Being in forum Macromedia Contribute General Discussion
    Replies: 1
    Last Post: March 29th, 12:13 AM
  3. Problem with installing PPM
    By Ramakrishna in forum PERL Beginners
    Replies: 4
    Last Post: October 13th, 09:59 PM
  4. problem installing GD-2.07
    By Julian Thomas in forum PERL Modules
    Replies: 1
    Last Post: August 12th, 05:40 PM
  5. ASP.NET problem after installing W2K SP4
    By Alex Kilpatrick in forum ASP.NET General
    Replies: 1
    Last Post: July 4th, 03:06 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139