On Tuesday, 17 of June 2008, Rafael J. Wysocki wrote:Here you go. Below is the relevant snippet from the yesterday's linux-next dmesg with the patches: "x86: I/O APIC: timer through 8259A second-chance" "x86: add C1E aware idle function" reverted and the appended debug patch applied. [ 0.108006] TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 [ 0.108006] ..MP-BIOS bug: 8254 timer not connected to IO-APIC [ 0.108006] ...trying to set up timer (IRQ0) through the 8259A ... <2> failed [ 0.108006] ...trying to set up timer as Virtual Wire IRQ...<2> works. The entire dmesg is at: http://www.sisk.pl/kernel/debug/20080616/dmesg-4.log Thanks, Rafael --- arch/x86/kernel/io_apic_64.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) Index: linux-next/arch/x86/kernel/io_apic_64.c =================================================================== --- linux-next.orig/arch/x86/kernel/io_apic_64.c +++ linux-next/arch/x86/kernel/io_apic_64.c @@ -1667,7 +1667,7 @@ static inline void __init check_timer(vo pin2 = ioapic_i8259.pin; apic2 = ioapic_i8259.apic; - apic_printk(APIC_VERBOSE,KERN_INFO "..TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n", + printk(KERN_CRIT "TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n", cfg->vector, apic1, pin1, apic2, pin2); if (pin1 != -1) { @@ -1686,14 +1686,14 @@ static inline void __init check_timer(vo goto out; } clear_IO_APIC_pin(apic1, pin1); - apic_printk(APIC_QUIET,KERN_ERR "..MP-BIOS bug: 8254 timer not " + printk(KERN_CRIT "..MP-BIOS bug: 8254 timer not " "connected to IO-APIC\n"); } - apic_printk(APIC_VERBOSE,KERN_INFO "...trying to set up timer (IRQ0) " + printk(KERN_CRIT "...trying to set up timer (IRQ0) " "through the 8259A ... "); if (pin2 != -1) { - apic_printk(APIC_VERBOSE,"\n..... (found apic %d pin %d) ...", + printk(KERN_CRIT "\n..... (found apic %d pin %d) ...", apic2, pin2); /* * legacy devices should be connected to IO APIC #0 @@ -1702,7 +1702,7 @@ static inline void __init check_timer(vo unmask_IO_APIC_irq(0); enable_8259A_irq(0); if (timer_irq_works()) { - apic_printk(APIC_VERBOSE," works.\n"); + printk(KERN_CRIT " works.\n"); timer_through_8259 = 1; nmi_watchdog_default(); if (nmi_watchdog == NMI_IO_APIC) { @@ -1718,28 +1718,28 @@ static inline void __init check_timer(vo disable_8259A_irq(0); clear_IO_APIC_pin(apic2, pin2); } - apic_printk(APIC_VERBOSE," failed.\n"); + printk(KERN_CRIT " failed.\n"); if (nmi_watchdog == NMI_IO_APIC) { - printk(KERN_WARNING "timer doesn't work through the IO-APIC - disabling NMI Watchdog!\n"); + printk(KERN_CRIT "timer doesn't work through the IO-APIC - disabling NMI Watchdog!\n"); nmi_watchdog = NMI_NONE; } - apic_printk(APIC_VERBOSE, KERN_INFO "...trying to set up timer as Virtual Wire IRQ..."); + printk(KERN_CRIT "...trying to set up timer as Virtual Wire IRQ..."); irq_desc[0].chip = &lapic_irq_type; apic_write(APIC_LVT0, APIC_DM_FIXED | cfg->vector); /* Fixed mode */ enable_8259A_irq(0); if (timer_irq_works()) { - apic_printk(APIC_VERBOSE," works.\n"); + printk(KERN_CRIT " works.\n"); goto out; } disable_8259A_irq(0); apic_write(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_FIXED | cfg->vector); - apic_printk(APIC_VERBOSE," failed.\n"); + printk(KERN_CRIT " failed.\n"); - apic_printk(APIC_VERBOSE, KERN_INFO "...trying to set up timer as ExtINT IRQ..."); + printk(KERN_CRIT "...trying to set up timer as ExtINT IRQ..."); init_8259A(0); make_8259A_irq(0); @@ -1748,10 +1748,10 @@ static inline void __init check_timer(vo unlock_ExtINT_logic(); if (timer_irq_works()) { - apic_printk(APIC_VERBOSE," works.\n"); + printk(KERN_CRIT " works.\n"); goto out; } - apic_printk(APIC_VERBOSE," failed :(.\n"); + printk(KERN_CRIT " failed :(.\n"); panic("IO-APIC + timer doesn't work! Try using the 'noapic' kernel parameter\n"); out: local_irq_restore(flags); --
| debian developer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Linus Torvalds | Re: Slow DOWN, please!!! |
| Tony Lindgren | [PATCH 37/90] ARM: OMAP: MPUIO wake updates |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Alexey Dobriyan | Re: [GIT]: Networking |
| Dushan Tcholich | Re: ksoftirqd high cpu load on kernels 2.6.24 to 2.6.27-rc1-mm1 |
