Re: New interrupt code slows hyperthreading down
John Baldwin wrote: On 07-Nov-2003 Jens Rehsack wrote: John Baldwin wrote: Thanks, IRQ 16 was programmed as level, activelo, so it wasn't an off by one error there. Grr. I've seen, but I didn't found a bios option to set it to edge. Is there anything I can do on my machine to fix the problem, or should Asus be notified for a bios update or ...? No, level is correct. The APIC code doesn't mask edge triggered interrupts, and if it thought IRQ 16 was edge rather than level, that could explain the high interrupt rate. Since that isn't the case I'm not sure why it's triggering so many interrupts. Ok, but what I can do now to get my machine running with HTT again? It's out main development machine and with the single-processor config it runs mostly with a very high load. Is there any chance to get it running just before the new interrupt code. Could it be fixed? Regards, Jens ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: New interrupt code slows hyperthreading down
On 07-Nov-2003 Jens Rehsack wrote: > John Baldwin wrote: > >> Thanks, IRQ 16 was programmed as level, activelo, so it wasn't an >> off by one error there. Grr. > > I've seen, but I didn't found a bios option to set it to edge. > Is there anything I can do on my machine to fix the problem, or > should Asus be notified for a bios update or ...? No, level is correct. The APIC code doesn't mask edge triggered interrupts, and if it thought IRQ 16 was edge rather than level, that could explain the high interrupt rate. Since that isn't the case I'm not sure why it's triggering so many interrupts. -- John Baldwin <[EMAIL PROTECTED]> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: New interrupt code slows hyperthreading down
John Baldwin wrote: Thanks, IRQ 16 was programmed as level, activelo, so it wasn't an off by one error there. Grr. I've seen, but I didn't found a bios option to set it to edge. Is there anything I can do on my machine to fix the problem, or should Asus be notified for a bios update or ...? Jens ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: New interrupt code slows hyperthreading down
On 07-Nov-2003 Jens Rehsack wrote: > John Baldwin wrote: >> On 07-Nov-2003 Jens Rehsack wrote: >> >>>Lars Eggert wrote: >>> John Baldwin wrote: >On 07-Nov-2003 Lars Eggert wrote: > >>This looks similar to what I described in the "fwohci0 running wild" >>thread. In both cases, irq16 seems to cause the problem... > > >Really. Does this only happen with ACPI enabled? Don't know about "only", since I have never booted this machine without ACPI. I'll test next time I'm rebooting. >>> >>>Don't do it. I do it for testing a few minutes ago - and it >>>prevents irq 16 from storming. But it does because the machine >>>hangs at boot with: >>>isa_probe_children: probing PnP devices >>> >>>I let it probe for about 10 minutes (you'll never know :-)), >>>but it wont do. >> >> Grrr, ok. Can you try the patch at >> http://www.FreeBSD.org/~jhb/patches/io_apic.patch and nab a boot -v >> dmesg with ACPI enabled? Thanks. > > Attached. Or shall I upload it to a web-server, too? Thanks, IRQ 16 was programmed as level, activelo, so it wasn't an off by one error there. Grr. -- John Baldwin <[EMAIL PROTECTED]> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: New interrupt code slows hyperthreading down
John Baldwin wrote: On 07-Nov-2003 Jens Rehsack wrote: Lars Eggert wrote: John Baldwin wrote: On 07-Nov-2003 Lars Eggert wrote: This looks similar to what I described in the "fwohci0 running wild" thread. In both cases, irq16 seems to cause the problem... Really. Does this only happen with ACPI enabled? Don't know about "only", since I have never booted this machine without ACPI. I'll test next time I'm rebooting. Don't do it. I do it for testing a few minutes ago - and it prevents irq 16 from storming. But it does because the machine hangs at boot with: isa_probe_children: probing PnP devices I let it probe for about 10 minutes (you'll never know :-)), but it wont do. Grrr, ok. Can you try the patch at http://www.FreeBSD.org/~jhb/patches/io_apic.patch and nab a boot -v dmesg with ACPI enabled? Thanks. Attached. Or shall I upload it to a web-server, too? Jens Copyright (c) 1992-2003 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.1-CURRENT #0: Fri Nov 7 22:43:13 GMT 2003 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/STATLER Preloaded elf kernel "/boot/kernel/kernel" at 0xc087f000. Calibrating clock(s) ... i8254 clock: 1193214 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz quality 0 Calibrating TSC clock ... TSC clock: 2398855680 Hz CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz (2398.86-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf29 Stepping = 9 Features=0xbfebfbff Hyperthreading: 2 logical CPUs real memory = 1072889856 (1023 MB) Physical memory chunk(s): 0x1000 - 0x0009efff, 647168 bytes (158 pages) 0x0010 - 0x003f, 3145728 bytes (768 pages) 0x00c29000 - 0x3ed0afff, 1041113088 bytes (254178 pages) avail memory = 1032667136 (984 MB) ACPI APIC Table: APIC ID: physical 0, logical 0:0 APIC ID: physical 1, logical 0:1 FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 APIC: CPU 0 has ACPI ID 1 APIC: CPU 1 has ACPI ID 2 bios32: Found BIOS32 Service Directory header at 0xc00f bios32: Entry = 0xf0010 (c00f0010) Rev = 0 Len = 1 pcibios: PCI BIOS entry at 0xf+0x31 pnpbios: Found PnP BIOS data at 0xc00f5580 pnpbios: Entry = f:616a Rev = 1.0 Other BIOS signatures found: MADT: Found IO APIC ID 2, Vector 0 at 0xfec0 ioapic0: intpin 0 -> ExtINT (edge, activehi) ioapic0: intpin 1 -> irq 1 (edge, activehi) ioapic0: intpin 2 -> irq 2 (edge, activehi) ioapic0: intpin 3 -> irq 3 (edge, activehi) ioapic0: intpin 4 -> irq 4 (edge, activehi) ioapic0: intpin 5 -> irq 5 (edge, activehi) ioapic0: intpin 6 -> irq 6 (edge, activehi) ioapic0: intpin 7 -> irq 7 (edge, activehi) ioapic0: intpin 8 -> irq 8 (edge, activehi) ioapic0: intpin 9 -> irq 9 (edge, activehi) ioapic0: intpin 10 -> irq 10 (edge, activehi) ioapic0: intpin 11 -> irq 11 (edge, activehi) ioapic0: intpin 12 -> irq 12 (edge, activehi) ioapic0: intpin 13 -> irq 13 (edge, activehi) ioapic0: intpin 14 -> irq 14 (edge, activehi) ioapic0: intpin 15 -> irq 15 (edge, activehi) ioapic0: intpin 16 -> irq 16 (level, activelo) ioapic0: intpin 17 -> irq 17 (level, activelo) ioapic0: intpin 18 -> irq 18 (level, activelo) ioapic0: intpin 19 -> irq 19 (level, activelo) ioapic0: intpin 20 -> irq 20 (level, activelo) ioapic0: intpin 21 -> irq 21 (level, activelo) ioapic0: intpin 22 -> irq 22 (level, activelo) ioapic0: intpin 23 -> irq 23 (level, activelo) MADT: intr override: source 0, irq 2 ioapic0: Routing IRQ 0 -> intpin 2 ioapic0: intpin 2 trigger: edge ioapic0: intpin 2 polarity: active-hi MADT: intr override: source 9, irq 9 ioapic0: intpin 9 trigger: level ioapic0: intpin 9 polarity: active-hi ioapic0 irqs 0-23 on motherboard cpu0 BSP: ID: 0x VER: 0x00050014 LDR: 0x0100 DFR: 0x0fff lint0: 0x00010700 lint1: 0x0400 TPR: 0x SVR: 0x01ff random: mem: Pentium Pro MTRR support enabled VESA: information block 56 45 53 41 00 03 43 57 00 c0 01 00 00 00 cd 52 00 c0 00 02 04 01 58 57 00 c0 5f 57 00 c0 6b 57 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 VESA: 23 mode(s) found VESA: v3.0, 32768k memory, flags:0x1, mode table:0xc00c52cd (c00052cd) VESA: Matrox Graphics Inc. VESA: Matrox Matrox G550 00 null: acpi0: on motherboard pci_open(1):mode 1 addr port (0x0cf8) is 0x pci_open(1a): mode1res=0x8000 (0x8000) pci_cfgcheck: device 0 [class=06] [hdr=00] is there (id=25708086) pcibios: BIOS version 2.10 Using $PIR table, 14 entries at 0xc00f5410 PCI-Only Interrupts: none Location Bus Device Pin Link IRQs embedded28A 0x68 3 4 5 6 7 10 11 12 14 15 embedded0 31A 0x62 3 4 5 6 7 10 11 12 14 15 embedded0 31B 0x61 3 4 5 6 7 10 11 12 14 15 embedded0 29A 0x60 3 4 5 6 7 10 11 12 14 15 emb
Re: New interrupt code slows hyperthreading down
On 07-Nov-2003 Jens Rehsack wrote: > Lars Eggert wrote: >> John Baldwin wrote: >> >>> On 07-Nov-2003 Lars Eggert wrote: >>> Jens Rehsack wrote: > interrupt total rate > irq1: atkbd0 512 2 > irq8: rtc 23419127 > irq13: npx01 0 > irq14: ata0 4422 24 > irq15: ata1 82 0 > irq16: uhci0 uhci3 5379815 29238 This looks similar to what I described in the "fwohci0 running wild" thread. In both cases, irq16 seems to cause the problem... >>> >>> >>> Really. Does this only happen with ACPI enabled? >> >> Don't know about "only", since I have never booted this machine without >> ACPI. I'll test next time I'm rebooting. > > Don't do it. I do it for testing a few minutes ago - and it > prevents irq 16 from storming. But it does because the machine > hangs at boot with: > isa_probe_children: probing PnP devices > > I let it probe for about 10 minutes (you'll never know :-)), > but it wont do. Grrr, ok. Can you try the patch at http://www.FreeBSD.org/~jhb/patches/io_apic.patch and nab a boot -v dmesg with ACPI enabled? Thanks. -- John Baldwin <[EMAIL PROTECTED]> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: New interrupt code slows hyperthreading down
Lars Eggert wrote: John Baldwin wrote: On 07-Nov-2003 Lars Eggert wrote: Jens Rehsack wrote: interrupt total rate irq1: atkbd0 512 2 irq8: rtc 23419127 irq13: npx01 0 irq14: ata0 4422 24 irq15: ata1 82 0 irq16: uhci0 uhci3 5379815 29238 This looks similar to what I described in the "fwohci0 running wild" thread. In both cases, irq16 seems to cause the problem... Really. Does this only happen with ACPI enabled? Don't know about "only", since I have never booted this machine without ACPI. I'll test next time I'm rebooting. Don't do it. I do it for testing a few minutes ago - and it prevents irq 16 from storming. But it does because the machine hangs at boot with: isa_probe_children: probing PnP devices I let it probe for about 10 minutes (you'll never know :-)), but it wont do. Jens ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: New interrupt code slows hyperthreading down
John Baldwin wrote: On 07-Nov-2003 Lars Eggert wrote: Jens Rehsack wrote: interrupt total rate irq1: atkbd0 512 2 irq8: rtc 23419127 irq13: npx01 0 irq14: ata0 4422 24 irq15: ata1 82 0 irq16: uhci0 uhci3 5379815 29238 This looks similar to what I described in the "fwohci0 running wild" thread. In both cases, irq16 seems to cause the problem... Really. Does this only happen with ACPI enabled? Don't know about "only", since I have never booted this machine without ACPI. I'll test next time I'm rebooting. Lars -- Lars Eggert <[EMAIL PROTECTED]> USC Information Sciences Institute smime.p7s Description: S/MIME Cryptographic Signature
Re: New interrupt code slows hyperthreading down
On 07-Nov-2003 Lars Eggert wrote: > Jens Rehsack wrote: >> interrupt total rate >> irq1: atkbd0 512 2 >> irq8: rtc 23419127 >> irq13: npx01 0 >> irq14: ata0 4422 24 >> irq15: ata1 82 0 >> irq16: uhci0 uhci3 5379815 29238 > > This looks similar to what I described in the "fwohci0 running wild" > thread. In both cases, irq16 seems to cause the problem... Really. Does this only happen with ACPI enabled? -- John Baldwin <[EMAIL PROTECTED]> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: New interrupt code slows hyperthreading down
Lars Eggert wrote: Jens Rehsack wrote: interrupt total rate irq1: atkbd0 512 2 irq8: rtc 23419127 irq13: npx01 0 irq14: ata0 4422 24 irq15: ata1 82 0 irq16: uhci0 uhci3 5379815 29238 This looks similar to what I described in the "fwohci0 running wild" thread. In both cases, irq16 seems to cause the problem... But I cannot unload the uhci driver, 'cause I need my mouse when using X. Ok, it would work even without, but I think then will I become the bottleneck, not irq 16 ;-) Jens ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: New interrupt code slows hyperthreading down
Jens Rehsack wrote: interrupt total rate irq1: atkbd0 512 2 irq8: rtc 23419127 irq13: npx01 0 irq14: ata0 4422 24 irq15: ata1 82 0 irq16: uhci0 uhci3 5379815 29238 This looks similar to what I described in the "fwohci0 running wild" thread. In both cases, irq16 seems to cause the problem... Lars -- Lars Eggert <[EMAIL PROTECTED]> USC Information Sciences Institute smime.p7s Description: S/MIME Cryptographic Signature
Re: New interrupt code slows hyperthreading down
John Baldwin wrote: On 07-Nov-2003 Jens Rehsack wrote: Hi, I recompiled my system today and when it came up again, it was terrible slow. Using top I've seen, that there're around 25% cpu-time is used to handle interrupts. The kernel was configured using SMP ('cause it's a HTT enabled CPU) and APIC. Setting machdep.hlt_logical_cpus to 1 didn't change anything. Simply getting a few mails (around 30) takes about 20 minutes. Most of time while getting the mails my mozilla was in "*Giant" state, what shouldn't be good, should it? I've recompiled the kernel without SMP and APIC and now the system's behaviour is more "normal". Is the behaviour of the new interrupt code better on real multiprocessor systems? Can you do a 'vmstat -i' under your SMP kernel to see where all the interrupts are coming from? It sounds like a device is interrupt storming. There has been report of this so far with fwohci(4). It's attached as well as the dmesg output booting with -v. Jens Copyright (c) 1992-2003 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.1-CURRENT #0: Fri Nov 7 10:12:42 GMT 2003 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/STATLER Preloaded elf kernel "/boot/kernel.old/kernel" at 0xc087f000. Calibrating clock(s) ... i8254 clock: 1193211 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz quality 0 Calibrating TSC clock ... TSC clock: 2398854804 Hz CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz (2398.85-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf29 Stepping = 9 Features=0xbfebfbff Hyperthreading: 2 logical CPUs real memory = 1072889856 (1023 MB) Physical memory chunk(s): 0x1000 - 0x0009efff, 647168 bytes (158 pages) 0x0010 - 0x003f, 3145728 bytes (768 pages) 0x00c29000 - 0x3ed0afff, 1041113088 bytes (254178 pages) avail memory = 1032667136 (984 MB) ACPI APIC Table: APIC ID: physical 0, logical 0:0 APIC ID: physical 1, logical 0:1 FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 APIC: CPU 0 has ACPI ID 1 APIC: CPU 1 has ACPI ID 2 bios32: Found BIOS32 Service Directory header at 0xc00f bios32: Entry = 0xf0010 (c00f0010) Rev = 0 Len = 1 pcibios: PCI BIOS entry at 0xf+0x31 pnpbios: Found PnP BIOS data at 0xc00f5580 pnpbios: Entry = f:616a Rev = 1.0 Other BIOS signatures found: MADT: Found IO APIC ID 2, Vector 0 at 0xfec0 ioapic0: intpin 0 -> ExtINT ioapic0: intpin 1 -> irq 1 ioapic0: intpin 2 -> irq 2 ioapic0: intpin 3 -> irq 3 ioapic0: intpin 4 -> irq 4 ioapic0: intpin 5 -> irq 5 ioapic0: intpin 6 -> irq 6 ioapic0: intpin 7 -> irq 7 ioapic0: intpin 8 -> irq 8 ioapic0: intpin 9 -> irq 9 ioapic0: intpin 10 -> irq 10 ioapic0: intpin 11 -> irq 11 ioapic0: intpin 12 -> irq 12 ioapic0: intpin 13 -> irq 13 ioapic0: intpin 14 -> irq 14 ioapic0: intpin 15 -> irq 15 ioapic0: intpin 16 -> irq 16 ioapic0: intpin 17 -> irq 17 ioapic0: intpin 18 -> irq 18 ioapic0: intpin 19 -> irq 19 ioapic0: intpin 20 -> irq 20 ioapic0: intpin 21 -> irq 21 ioapic0: intpin 22 -> irq 22 ioapic0: intpin 23 -> irq 23 MADT: intr override: source 0, irq 2 ioapic0: Routing IRQ 0 -> intpin 2 ioapic0: intpin 2 trigger: edge ioapic0: intpin 2 polarity: active-hi MADT: intr override: source 9, irq 9 ioapic0: intpin 9 trigger: level ioapic0: intpin 9 polarity: active-hi ioapic0 irqs 0-23 on motherboard cpu0 BSP: ID: 0x VER: 0x00050014 LDR: 0x0100 DFR: 0x0fff lint0: 0x00010700 lint1: 0x0400 TPR: 0x SVR: 0x01ff random: mem: Pentium Pro MTRR support enabled VESA: information block 56 45 53 41 00 03 43 57 00 c0 01 00 00 00 cd 52 00 c0 00 02 04 01 58 57 00 c0 5f 57 00 c0 6b 57 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 VESA: 23 mode(s) found VESA: v3.0, 32768k memory, flags:0x1, mode table:0xc00c52cd (c00052cd) VESA: Matrox Graphics Inc. VESA: Matrox Matrox G550 00 null: acpi0: on motherboard pci_open(1):mode 1 addr port (0x0cf8) is 0x pci_open(1a): mode1res=0x8000 (0x8000) pci_cfgcheck: device 0 [class=06] [hdr=00] is there (id=25708086) pcibios: BIOS version 2.10 Using $PIR table, 14 entries at 0xc00f5410 PCI-Only Interrupts: none Location Bus Device Pin Link IRQs embedded28A 0x68 3 4 5 6 7 10 11 12 14 15 embedded0 31A 0x62 3 4 5 6 7 10 11 12 14 15 embedded0 31B 0x61 3 4 5 6 7 10 11 12 14 15 embedded0 29A 0x60 3 4 5 6 7 10 11 12 14 15 embedded0 29B 0x63 3 4 5 6 7 10 11 12 14 15 embedded0 29C 0x62 3 4 5 6 7 10 11 12 14 15 embedded0 29D 0x6b 3 4 5 6 7 10 11 12 14 15 embedded01A 0x60 3 4 5 6 7 10 11 12 14 15 embedded01B 0x61 3 4 5 6 7 10 11 12 14 15 embedded03A 0x60 3 4 5 6
RE: New interrupt code slows hyperthreading down
On 07-Nov-2003 Jens Rehsack wrote: > Hi, > > I recompiled my system today and when it came up again, > it was terrible slow. Using top I've seen, that there're > around 25% cpu-time is used to handle interrupts. > The kernel was configured using SMP ('cause it's a HTT > enabled CPU) and APIC. Setting machdep.hlt_logical_cpus > to 1 didn't change anything. Simply getting a few mails > (around 30) takes about 20 minutes. Most of time while > getting the mails my mozilla was in "*Giant" state, > what shouldn't be good, should it? > > I've recompiled the kernel without SMP and APIC and > now the system's behaviour is more "normal". Is the > behaviour of the new interrupt code better on real > multiprocessor systems? Can you do a 'vmstat -i' under your SMP kernel to see where all the interrupts are coming from? It sounds like a device is interrupt storming. There has been report of this so far with fwohci(4). -- John Baldwin <[EMAIL PROTECTED]> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
New interrupt code slows hyperthreading down
Hi, I recompiled my system today and when it came up again, it was terrible slow. Using top I've seen, that there're around 25% cpu-time is used to handle interrupts. The kernel was configured using SMP ('cause it's a HTT enabled CPU) and APIC. Setting machdep.hlt_logical_cpus to 1 didn't change anything. Simply getting a few mails (around 30) takes about 20 minutes. Most of time while getting the mails my mozilla was in "*Giant" state, what shouldn't be good, should it? I've recompiled the kernel without SMP and APIC and now the system's behaviour is more "normal". Is the behaviour of the new interrupt code better on real multiprocessor systems? Regards, -- Jens Rehsack ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"