The latest amd64 snapshots have ACPI enabled. On my Shuttle SN25P, with an
AMD dual core processor, this leads to a significant decrease in
performance. For example, given the same bsd.mp kernel on an unloaded
system, here's a time'd compile of an application with ACPI disabled:
gmake 50.99s user 7.26s system 92% cpu 1:03.29 total
and with ACPI enabled:
gmake 53.05s user 10.81s system 73% cpu 1:26.57 total
As you can see, enabling ACPI leads to a more-or-less 50% slowdown. I did
file an informal report about this same issue in January, so I don't think
this is a new problem.
With ACPI enabled, even when the machine is idle top shows that one
processor is fairly continuously spending 60-70% of its time processing
interrupts. In use, the machine feels really sluggish, as if using a machine
from several years back. Disabling ACPI at UKC is all that is needed to
restore performance.
Here's the dmesg with ACPI disabled:
OpenBSD 4.1-current (GENERIC.MP) #1286: Thu Jun 7 00:52:32 MDT 2007
[EMAIL PROTECTED]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 1073278976 (1023MB)
avail mem = 1025142784 (977MB)
User Kernel Config
UKC> disable acpi
263 acpi0 disabled
UKC> quit
Continuing...
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.2 @ 0xf0000 (32 entries)
bios0: Shuttle Inc SN25V10
acpi at mainbus0 not configured
mainbus0: Intel MP Specification (Version 1.1)
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+, 2210.47 MHz
cpu0:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW
cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
64b/line 16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: DTLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: apic clock running at 200MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+, 2210.19 MHz
cpu1:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW
cpu1: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
64b/line 16-way L2 cache
cpu1: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu1: DTLB 32 4KB entries fully associative, 8 4MB entries fully associative
mpbios: bus 0 is type PCI
mpbios: bus 1 is type PCI
mpbios: bus 2 is type PCI
mpbios: bus 3 is type PCI
mpbios: bus 4 is type PCI
mpbios: bus 5 is type PCI
mpbios: bus 6 is type ISA
ioapic0 at mainbus0 apid 2 pa 0xfec00000, version 11, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 2
pci0 at mainbus0 bus 0: configuration mode 1
"NVIDIA nForce4 DDR" rev 0xa3 at pci0 dev 0 function 0 not configured
pcib0 at pci0 dev 1 function 0 "NVIDIA nForce4 ISA" rev 0xa3
nviic0 at pci0 dev 1 function 1 "NVIDIA nForce4 SMBus" rev 0xa2
iic0 at nviic0
iic1 at nviic0
adt0 at iic1 addr 0x2e: adm1027 rev 0x6a
iic1: addr 0x4e 03=08 04=08 12=fd 13=0f 28=83 29=12 2a=12 2b=28
ohci0 at pci0 dev 2 function 0 "NVIDIA nForce4 USB" rev 0xa2: apic 2 int 11
(irq 11), version 1.0, legacy support
pciide0 at pci0 dev 6 function 0 "NVIDIA nForce4 IDE" rev 0xf2: DMA, channel
0 configured to compatibility, channel 1 configured to compatibility
atapiscsi0 at pciide0 channel 0 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <SONY, CD-RW CRX320EE, RYK3> SCSI0 5/cdrom
removable
cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 ignored (disabled)
pciide1 at pci0 dev 7 function 0 "NVIDIA nForce4 SATA" rev 0xf3: DMA
pciide1: using apic 2 int 10 (irq 10) for native-PCI interrupt
wd0 at pciide1 channel 0 drive 0: <WDC WD1500ADFD-00NLR0>
wd0: 16-sector PIO, LBA48, 143089MB, 293046768 sectors
wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 5
pciide2 at pci0 dev 8 function 0 "NVIDIA nForce4 SATA" rev 0xf3: DMA
pciide2: using apic 2 int 11 (irq 11) for native-PCI interrupt
ppb0 at pci0 dev 9 function 0 "NVIDIA nForce4 PCI-PCI" rev 0xa2
pci1 at ppb0 bus 5
"IC Ensemble Envy24PT/HT Audio" rev 0x01 at pci1 dev 6 function 0 not
configured
"VIA VT6306 FireWire" rev 0x80 at pci1 dev 7 function 0 not configured
nfe0 at pci0 dev 10 function 0 "NVIDIA CK804 LAN" rev 0xa3: apic 2 int 5 (irq
5), address 00:30:1b:b9:05:6c
eephy0 at nfe0 phy 1: Marvell 88E1111 Gigabit PHY, rev. 2
ppb1 at pci0 dev 11 function 0 "NVIDIA nForce4 PCIE" rev 0xa3
pci2 at ppb1 bus 4
ppb2 at pci0 dev 12 function 0 "NVIDIA nForce4 PCIE" rev 0xa3
pci3 at ppb2 bus 3
ppb3 at pci0 dev 13 function 0 "NVIDIA nForce4 PCIE" rev 0xa3
pci4 at ppb3 bus 2
ppb4 at pci0 dev 14 function 0 "NVIDIA nForce4 PCIE" rev 0xa3
pci5 at ppb4 bus 1
vga1 at pci5 dev 0 function 0 "NVIDIA GeForce 6600" rev 0xa2
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
pchb0 at pci0 dev 24 function 0 "AMD AMD64 HyperTransport" rev 0x00
pchb1 at pci0 dev 24 function 1 "AMD AMD64 Address Map" rev 0x00
pchb2 at pci0 dev 24 function 2 "AMD AMD64 DRAM Cfg" rev 0x00
pchb3 at pci0 dev 24 function 3 "AMD AMD64 Misc Cfg" rev 0x00
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
it0 at isa0 port 0x290/8: IT87
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
usb0 at ohci0: USB revision 1.0
uhub0 at usb0: NVIDIA OHCI root hub, rev 1.00/1.00, addr 1
uaudio0 at uhub0 port 1 configuration 1 interface 0: ABC C-Media USB
Headphone Set, rev 1.10/1.00, addr 2
uaudio0: audio rev 1.00, 8 mixer controls
audio0 at uaudio0
uhidev0 at uhub0 port 1 configuration 1 interface 3
uhidev0: ABC C-Media USB Headphone Set, rev 1.10/1.00, addr 2, iclass 3/0
uhid0 at uhidev0: input=4, output=4, feature=0
uhub1 at uhub0 port 2: ATEN International product 0x7000, rev 1.10/1.00, addr
3
uhidev1 at uhub1 port 1 configuration 1 interface 0
uhidev1: MALTRON USB Multimedia Keyboard, rev 1.10/1.22, addr 4, iclass 3/1
ukbd0 at uhidev1: 8 modifier keys, 6 key codes, country code 13
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
uhidev2 at uhub1 port 1 configuration 1 interface 1
uhidev2: MALTRON USB Multimedia Keyboard, rev 1.10/1.22, addr 4, iclass 3/0
uhidev2: no report descriptor
uhidev3 at uhub1 port 4 configuration 1 interface 0
uhidev3: Logitech Trackball, rev 1.10/2.20, addr 5, iclass 3/1
ums0 at uhidev3: 3 buttons and Z dir.
wsmouse0 at ums0 mux 0
axe0 at uhub0 port 3 configuration 1 interface 0
axe0: USB Linksys USB2.0 Network Adapter, rev 2.00/0.01, addr 6, AX88172,
address 00:13:10:dc:46:07
rlphy0 at axe0 phy 3: RTL8201L 10/100 PHY, rev. 1
cdce0 at uhub0 port 4 configuration 1 interface 1
cdce0: AMBIT NTL USB Cable Modem, rev 1.10/1.01, addr 7
cdce0: could not find data bulk in
cdce1 at uhub0 port 4 configuration 1 interface 0
cdce1: AMBIT NTL USB Cable Modem, rev 1.10/1.01, addr 7
cdce1: address 2a:cb:60:02:00:00
softraid0 at root
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a swap on wd0b dump on wd0b
and the dmesg with ACPI enabled (the default):
OpenBSD 4.1-current (GENERIC.MP) #1286: Thu Jun 7 00:52:32 MDT 2007
[EMAIL PROTECTED]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 1073278976 (1023MB)
avail mem = 1025142784 (977MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.2 @ 0xf0000 (32 entries)
bios0: Shuttle Inc SN25V10
acpi0 at mainbus0: rev 0
acpi0: tables DSDT FACP SSDT MCFG APIC
acpitimer at acpi0 not configured
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+, 2210.43 MHz
cpu0:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW
cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
64b/line 16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: DTLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: apic clock running at 200MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+, 2210.19 MHz
cpu1:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW
cpu1: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
64b/line 16-way L2 cache
cpu1: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu1: DTLB 32 4KB entries fully associative, 8 4MB entries fully associative
ioapic0 at mainbus0 apid 2 pa 0xfec00000, version 11, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 2
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 5 (HUB0)
acpicpu at acpi0 not configured
acpicpu at acpi0 not configured
acpitz at acpi0 not configured
acpibtn at acpi0 not configured
pci0 at mainbus0 bus 0: configuration mode 1
"NVIDIA nForce4 DDR" rev 0xa3 at pci0 dev 0 function 0 not configured
pcib0 at pci0 dev 1 function 0 "NVIDIA nForce4 ISA" rev 0xa3
nviic0 at pci0 dev 1 function 1 "NVIDIA nForce4 SMBus" rev 0xa2
iic0 at nviic0
iic1 at nviic0
adt0 at iic1 addr 0x2e: adm1027 rev 0x6a
iic1: addr 0x4e 03=08 04=08 12=fd 13=0f 28=83 29=12 2a=12 2b=28
ohci0 at pci0 dev 2 function 0 "NVIDIA nForce4 USB" rev 0xa2: apic 2 int 0
(irq 11), version 1.0, legacy support
pciide0 at pci0 dev 6 function 0 "NVIDIA nForce4 IDE" rev 0xf2: DMA, channel
0 configured to compatibility, channel 1 configured to compatibility
atapiscsi0 at pciide0 channel 0 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <SONY, CD-RW CRX320EE, RYK3> SCSI0 5/cdrom
removable
cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 ignored (disabled)
pciide1 at pci0 dev 7 function 0 "NVIDIA nForce4 SATA" rev 0xf3: DMA
pciide1: using apic 2 int 0 (irq 10) for native-PCI interrupt
wd0 at pciide1 channel 0 drive 0: <WDC WD1500ADFD-00NLR0>
wd0: 16-sector PIO, LBA48, 143089MB, 293046768 sectors
wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 5
pciide2 at pci0 dev 8 function 0 "NVIDIA nForce4 SATA" rev 0xf3: DMA
pciide2: using apic 2 int 0 (irq 11) for native-PCI interrupt
ppb0 at pci0 dev 9 function 0 "NVIDIA nForce4 PCI-PCI" rev 0xa2
pci1 at ppb0 bus 5
"IC Ensemble Envy24PT/HT Audio" rev 0x01 at pci1 dev 6 function 0 not
configured
"VIA VT6306 FireWire" rev 0x80 at pci1 dev 7 function 0 not configured
nfe0 at pci0 dev 10 function 0 "NVIDIA CK804 LAN" rev 0xa3: apic 2 int 0 (irq
5), address 00:30:1b:b9:05:6c
eephy0 at nfe0 phy 1: Marvell 88E1111 Gigabit PHY, rev. 2
ppb1 at pci0 dev 11 function 0 "NVIDIA nForce4 PCIE" rev 0xa3
pci2 at ppb1 bus 4
ppb2 at pci0 dev 12 function 0 "NVIDIA nForce4 PCIE" rev 0xa3
pci3 at ppb2 bus 3
ppb3 at pci0 dev 13 function 0 "NVIDIA nForce4 PCIE" rev 0xa3
pci4 at ppb3 bus 2
ppb4 at pci0 dev 14 function 0 "NVIDIA nForce4 PCIE" rev 0xa3
pci5 at ppb4 bus 1
vga1 at pci5 dev 0 function 0 "NVIDIA GeForce 6600" rev 0xa2
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
pchb0 at pci0 dev 24 function 0 "AMD AMD64 HyperTransport" rev 0x00
pchb1 at pci0 dev 24 function 1 "AMD AMD64 Address Map" rev 0x00
pchb2 at pci0 dev 24 function 2 "AMD AMD64 DRAM Cfg" rev 0x00
pchb3 at pci0 dev 24 function 3 "AMD AMD64 Misc Cfg" rev 0x00
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
it0 at isa0 port 0x290/8: IT87
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
usb0 at ohci0: USB revision 1.0
uhub0 at usb0: NVIDIA OHCI root hub, rev 1.00/1.00, addr 1
uaudio0 at uhub0 port 1 configuration 1 interface 0: ABC C-Media USB
Headphone Set, rev 1.10/1.00, addr 2
uaudio0: audio rev 1.00, 8 mixer controls
audio0 at uaudio0
uhidev0 at uhub0 port 1 configuration 1 interface 3
uhidev0: ABC C-Media USB Headphone Set, rev 1.10/1.00, addr 2, iclass 3/0
uhid0 at uhidev0: input=4, output=4, feature=0
uhub1 at uhub0 port 2: ATEN International product 0x7000, rev 1.10/1.00, addr
3
uhidev1 at uhub1 port 1 configuration 1 interface 0
uhidev1: MALTRON USB Multimedia Keyboard, rev 1.10/1.22, addr 4, iclass 3/1
ukbd0 at uhidev1: 8 modifier keys, 6 key codes, country code 13
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
uhidev2 at uhub1 port 1 configuration 1 interface 1
uhidev2: MALTRON USB Multimedia Keyboard, rev 1.10/1.22, addr 4, iclass 3/0
uhidev2: 3 report ids
uhid1 at uhidev2 reportid 2: input=1, output=0, feature=0
uhid2 at uhidev2 reportid 3: input=2, output=0, feature=0
uhidev3 at uhub1 port 4 configuration 1 interface 0
uhidev3: Logitech Trackball, rev 1.10/2.20, addr 5, iclass 3/1
ums0 at uhidev3: 3 buttons and Z dir.
wsmouse0 at ums0 mux 0
axe0 at uhub0 port 3 configuration 1 interface 0
axe0: USB Linksys USB2.0 Network Adapter, rev 2.00/0.01, addr 6, AX88172,
address 00:13:10:dc:46:07
rlphy0 at axe0 phy 3: RTL8201L 10/100 PHY, rev. 1
cdce0 at uhub0 port 4 configuration 1 interface 1
cdce0: AMBIT NTL USB Cable Modem, rev 1.10/1.01, addr 7
cdce0: could not find data bulk in
cdce1 at uhub0 port 4 configuration 1 interface 0
cdce1: AMBIT NTL USB Cable Modem, rev 1.10/1.01, addr 7
cdce1: address 2a:cb:61:02:00:00
softraid0 at root
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a swap on wd0b dump on wd0b
In case it's relevant, here's a slightly chopped down diff between the two
to highlight the differences:
-acpi at mainbus0 not configured
-mainbus0: Intel MP Specification (Version 1.1)
+acpi0 at mainbus0: rev 0
+acpi0: tables DSDT FACP SSDT MCFG APIC
+acpitimer at acpi0 not configured
+acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
-cpu0: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+, 2210.47 MHz
+cpu0: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+, 2210.43 MHz
-mpbios: bus 0 is type PCI
-mpbios: bus 1 is type PCI
-mpbios: bus 2 is type PCI
-mpbios: bus 3 is type PCI
-mpbios: bus 4 is type PCI
-mpbios: bus 5 is type PCI
-mpbios: bus 6 is type ISA
ioapic0 at mainbus0 apid 2 pa 0xfec00000, version 11, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 2
+acpiprt0 at acpi0: bus 0 (PCI0)
+acpiprt1 at acpi0: bus 5 (HUB0)
+acpicpu at acpi0 not configured
+acpicpu at acpi0 not configured
+acpitz at acpi0 not configured
+acpibtn at acpi0 not configured
-ohci0 at pci0 dev 2 function 0 "NVIDIA nForce4 USB" rev 0xa2: apic 2 int 11
(irq 11), version 1.0, legacy support
+ohci0 at pci0 dev 2 function 0 "NVIDIA nForce4 USB" rev 0xa2: apic 2 int 0
(irq 11), version 1.0, legacy support
-pciide1: using apic 2 int 10 (irq 10) for native-PCI interrupt
+pciide1: using apic 2 int 0 (irq 10) for native-PCI interrupt
-pciide2: using apic 2 int 11 (irq 11) for native-PCI interrupt
+pciide2: using apic 2 int 0 (irq 11) for native-PCI interrupt
-nfe0 at pci0 dev 10 function 0 "NVIDIA CK804 LAN" rev 0xa3: apic 2 int 5
(irq 5), address 00:30:1b:b9:05:6c
+nfe0 at pci0 dev 10 function 0 "NVIDIA CK804 LAN" rev 0xa3: apic 2 int 0
(irq 5), address 00:30:1b:b9:05:6c
-uhidev2: no report descriptor
+uhidev2: 3 report ids
+uhid1 at uhidev2 reportid 2: input=1, output=0, feature=0
+uhid2 at uhidev2 reportid 3: input=2, output=0, feature=0
-cdce1: address 2a:cb:60:02:00:00
+cdce1: address 2a:cb:61:02:00:00
If anyone has any questions, please don't hesitate to contact me.
Laurie
--
http://tratt.net/laurie/ -- Personal
http://convergepl.org/ -- The Converge programming language
http://sosym.dcs.kcl.ac.uk/ -- Software and Systems Modelling Team