Messages in this thread | | | Date | Mon, 15 Dec 2003 15:58:43 +0100 | From | Miroslaw KLABA <> | Subject | Double Interrupt with HT |
| |
Hello,
I've got a problem while using Hyper-Threading on a motherboard with Via P4M266A chipset with 2.4.23 kernel. Without SMP enabled, I've got no problem with this chip, but when I enable SMP, the clock runs twice the speed, and interrupts are handled by both virtual CPUs, instead of the first one, like on other servers I run. I haven't got this problem with other chips but with this Via chip. There is no special thing in dmesg. Have you an idea from what the problem comes? I haven't found any patch for this type of problem.
Thanks Miro
# cat /proc/interrupts CPU0 CPU1 0: 675819 675759 IO-APIC-edge timer 1: 60 60 IO-APIC-edge keyboard 2: 0 0 XT-PIC cascade 4: 16 16 IO-APIC-edge serial 8: 1 1 IO-APIC-edge rtc 14: 5859 5859 IO-APIC-edge ide0 23: 248484 134979 IO-APIC-level eth0 NMI: 0 0 LOC: 675742 675741 ERR: 0 MIS: 0
#dmesg Linux version 2.4.23 (root@xxx) (gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)) #1 SMP lun déc 1 21:52:33 CET 2003 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 00000000000a0000 (usable) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000001dff0000 (usable) BIOS-e820: 000000001dff0000 - 000000001dff3000 (ACPI NVS) BIOS-e820: 000000001dff3000 - 000000001e000000 (ACPI data) BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved) 0MB HIGHMEM available. 479MB LOWMEM available. found SMP MP-table at 000f5410 hm, page 000f5000 reserved twice. hm, page 000f6000 reserved twice. hm, page 000f0000 reserved twice. hm, page 000f1000 reserved twice. On node 0 totalpages: 122864 zone(0): 4096 pages. zone(1): 118768 pages. zone(2): 0 pages. ACPI: RSDP (v000 VIAP4X ) @ 0x000f6dc0 ACPI: RSDT (v001 VIAP4X AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x1dff3000 ACPI: FADT (v001 VIAP4X AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x1dff3040 ACPI: MADT (v001 VIAP4X AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x1dff6d80 ACPI: DSDT (v001 VIAP4X AWRDACPI 0x00001000 MSFT 0x0100000d) @ 0x00000000 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) Processor #0 Pentium 4(tm) XEON(tm) APIC version 20 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) Processor #1 Pentium 4(tm) XEON(tm) APIC version 20 Using ACPI for processor (LAPIC) configuration information Intel MultiProcessor Specification v1.4 Virtual Wire compatibility mode. OEM ID: OEM00000 Product ID: PROD00000000 APIC at: 0xFEE00000 I/O APIC #2 Version 17 at 0xFEC00000. Enabling APIC mode: Flat. Using 1 I/O APICs Processors: 2 Kernel command line: auto BOOT_IMAGE=linux-bi ro root=301 BOOT_FILE=/boot/bzImage-2.4.23-bipiv nousb Initializing CPU#0 Detected 3064.187 MHz processor. Console: colour VGA+ 80x25 Calibrating delay loop... 6107.95 BogoMIPS Memory: 482512k/491456k available (1536k kernel code, 8560k reserved, 386k data, 304k init, 0k highmem) Dentry cache hash table entries: 65536 (order: 7, 524288 bytes) Inode cache hash table entries: 32768 (order: 6, 262144 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer cache hash table entries: 32768 (order: 5, 131072 bytes) Page-cache hash table entries: 131072 (order: 7, 524288 bytes) CPU: Trace cache: 12K uops, L1 D cache: 8K CPU: L2 cache: 512K CPU: Physical Processor ID: 0 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. CPU: After generic, caps: bfebfbff 00000000 00000000 00000000 CPU: Common caps: bfebfbff 00000000 00000000 00000000 Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX CPU: Trace cache: 12K uops, L1 D cache: 8K CPU: L2 cache: 512K CPU: Physical Processor ID: 0 Intel machine check reporting enabled on CPU#0. CPU: After generic, caps: bfebfbff 00000000 00000000 00000000 CPU: Common caps: bfebfbff 00000000 00000000 00000000 CPU0: Intel(R) Pentium(R) 4 CPU 3.06GHz stepping 07 per-CPU timeslice cutoff: 1462.76 usecs. enabled ExtINT on CPU#0 ESR value before enabling vector: 00000000 ESR value after enabling vector: 00000000 Booting processor 1/1 eip 2000 Initializing CPU#1 masked ExtINT on CPU#1 ESR value before enabling vector: 00000000 ESR value after enabling vector: 00000000 Calibrating delay loop... 6121.06 BogoMIPS CPU: Trace cache: 12K uops, L1 D cache: 8K CPU: L2 cache: 512K CPU: Physical Processor ID: 0 Intel machine check reporting enabled on CPU#1. CPU: After generic, caps: bfebfbff 00000000 00000000 00000000 CPU: Common caps: bfebfbff 00000000 00000000 00000000 CPU1: Intel(R) Pentium(R) 4 CPU 3.06GHz stepping 07 Total of 2 processors activated (12229.01 BogoMIPS). cpu_sibling_map[0] = 1 cpu_sibling_map[1] = 0 ENABLING IO-APIC IRQs Setting 2 in the phys_id_present_map ...changing IO-APIC physical APIC ID to 2 ... ok. init IO_APIC IRQs IO-APIC (apicid-pin) 2-0, 2-5, 2-7, 2-12, 2-17, 2-18, 2-20 not connected. ..TIMER: vector=0x31 pin1=2 pin2=0 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 ....... : Delivery Type: 0 ....... : LTS : 0 .... register #01: 00178003 ....... : max redirection entries: 0017 ....... : PRQ implemented: 1 ....... : IO APIC version: 0003 .... 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 003 03 0 0 0 0 0 1 1 39 02 003 03 0 0 0 0 0 1 1 31 03 003 03 0 0 0 0 0 1 1 41 04 003 03 0 0 0 0 0 1 1 49 05 000 00 1 0 0 0 0 0 0 00 06 003 03 0 0 0 0 0 1 1 51 07 000 00 1 0 0 0 0 0 0 00 08 003 03 0 0 0 0 0 1 1 59 09 003 03 0 0 0 0 0 1 1 61 0a 003 03 0 0 0 0 0 1 1 69 0b 003 03 1 1 0 1 0 1 1 71 0c 000 00 1 0 0 0 0 0 0 00 0d 003 03 0 0 0 0 0 1 1 79 0e 003 03 0 0 0 0 0 1 1 81 0f 003 03 0 0 0 0 0 1 1 89 10 003 03 1 1 0 1 0 1 1 91 11 000 00 1 0 0 0 0 0 0 00 12 000 00 1 0 0 0 0 0 0 00 13 003 03 1 1 0 1 0 1 1 99 14 000 00 1 0 0 0 0 0 0 00 15 003 03 1 1 0 1 0 1 1 A1 16 003 03 1 1 0 1 0 1 1 A9 17 003 03 1 1 0 1 0 1 1 B1 IRQ to pin mappings: IRQ0 -> 0:2 IRQ1 -> 0:1 IRQ3 -> 0:3 IRQ4 -> 0:4 IRQ6 -> 0:6 IRQ8 -> 0:8 IRQ9 -> 0:9 IRQ10 -> 0:10 IRQ11 -> 0:11 IRQ13 -> 0:13 IRQ14 -> 0:14 IRQ15 -> 0:15 IRQ16 -> 0:16 IRQ19 -> 0:19 IRQ21 -> 0:21 IRQ22 -> 0:22 IRQ23 -> 0:23 .................................... done. Using local APIC timer interrupts. calibrating APIC timer ... ..... CPU clock speed is 3064.1412 MHz. ..... host bus clock speed is 133.2235 MHz. cpu: 0, clocks: 1332235, slice: 444078 CPU0<T0:1332224,T1:888144,D:2,S:444078,C:1332235> cpu: 1, clocks: 1332235, slice: 444078 CPU1<T0:1332224,T1:444064,D:4,S:444078,C:1332235> checking TSC synchronization across CPUs: passed. Waiting on wait_init_idle (map = 0x2) All processors have done init_idle PCI: PCI BIOS revision 2.10 entry at 0xfb510, last bus=1 PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) PCI: Using IRQ router VIA [1106/3177] at 00:11.0 PCI->APIC IRQ transform: (B0,I16,P0) -> 21 PCI->APIC IRQ transform: (B0,I16,P1) -> 21 PCI->APIC IRQ transform: (B0,I16,P2) -> 21 PCI->APIC IRQ transform: (B0,I16,P3) -> 19 PCI->APIC IRQ transform: (B0,I17,P0) -> 11 PCI->APIC IRQ transform: (B0,I17,P2) -> 22 PCI->APIC IRQ transform: (B0,I18,P0) -> 23 PCI->APIC IRQ transform: (B1,I0,P0) -> 16 PCI: Via IRQ fixup for 00:10.0, from 11 to 5 PCI: Via IRQ fixup for 00:10.1, from 7 to 5 PCI: Via IRQ fixup for 00:10.2, from 12 to 5 Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd VFS: Disk quotas vdquot_6.5.1 Journalled Block Device driver loaded pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A Real Time Clock Driver v1.10e Software Watchdog Timer: 0.05, timer margin: 60 sec Floppy drive(s): fd0 is 1.44M reset set in interrupt, calling c01a4bf0 floppy0: no floppy controllers found loop: loaded (max 8 devices) Intel(R) PRO/1000 Network Driver - version 5.2.20-k1 Copyright (c) 1999-2003 Intel Corporation. via-rhine.c:v1.10-LK1.1.19 July-12-2003 Written by Donald Becker http://www.scyld.com/network/via-rhine.html eth0: VIA VT6102 Rhine-II at 0xe800, 00:0d:87:5e:d3:b9, IRQ 23. eth0: MII PHY found at address 1, status 0x786d advertising 05e1 Link 40a1. Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 00:11.1 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: VIA vt8235 (rev 00) IDE UDMA133 controller on pci00:11.1 ide0: BM-DMA at 0xdc00-0xdc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xdc08-0xdc0f, BIOS settings: hdc:pio, hdd:pio hda: IC35L060AVV207-0, ATA DISK drive blk: queue c038af60, I/O limit 4095Mb (mask 0xffffffff) ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hda: attached ide-disk driver. hda: host protected area => 1 hda: 80418240 sectors (41174 MB) w/1821KiB Cache, CHS=5005/255/63, UDMA(100) Partition check: hda: hda1 hda2 hda3 SCSI subsystem driver Revision: 1.00 md: linear personality registered as nr 1 md: raid0 personality registered as nr 2 md: raid1 personality registered as nr 3 md: raid5 personality registered as nr 4 raid5: measuring checksumming speed 8regs : 3566.400 MB/sec 32regs : 2193.200 MB/sec pIII_sse : 3942.400 MB/sec pII_mmx : 3625.600 MB/sec p5_mmx : 3546.000 MB/sec raid5: using function: pIII_sse (3942.400 MB/sec) md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. Initializing Cryptographic API NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 4096 buckets, 32Kbytes TCP: Hash tables configured (established 32768 bind 32768) IPv4 over IPv4 tunneling driver ip_conntrack version 2.1 (3839 buckets, 30712 max) - 292 bytes per conntrack ip_tables: (C) 2000-2002 Netfilter core team NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 304k freed Adding Swap: 522104k swap-space (priority -1) EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,1), internal journal kjournald starting. Commit interval 5 seconds EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,2), internal journal EXT3-fs: mounted filesystem with ordered data mode.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |