Re: [PATCH] x86: I/O APIC: Always report how the timer has beenset up

From: Ingo Molnar
Date: Fri Jul 18 2008 - 08:23:02 EST

* Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> wrote:

> Following recent (and less so) issues with the 8254 timer when routed
> through the I/O or local APIC, always report which configurations have
> been tried and which one has been set up eventually. This is so that
> logs posted by people for some other reason can be used as a
> cross-reference when investigating any possible future problems.
> The change unifies messages printed on 32-bit and 64-bit platforms
> and adds trailing newlines (removes leading ones), so that proper log
> level annotation can be used and any possible interspersed output will
> not cause a mess.
> I have chosen to use apic_printk(APIC_QUIET, ...) rather than
> printk(...) so that the distinction of these messages is maintained
> making possible future decisions about changes in this area easier. A
> change posted separately making apic_verbosity unsigned removes any
> extra code that would otherwise be generated as a result of this
> design decision.
> Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>

applied to tip/x86/apic, thanks Maciej.

ported this portion ontop of the write-around-removal patch:

> apic_write_around(APIC_LVT0, APIC_DM_FIXED | vector); /* Fixed mode */
> enable_8259A_irq(0);
> if (timer_irq_works()) {
> - printk(" works.\n");
> + apic_printk(APIC_QUIET, KERN_INFO "..... works.\n");
> goto out;
> }
> disable_8259A_irq(0);
> apic_write_around(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_FIXED | vector);
> - printk(" failed.\n");
> + apic_printk(APIC_QUIET, KERN_INFO "..... failed.\n");
> - printk(KERN_INFO "...trying to set up timer as ExtINT IRQ...");
> + apic_printk(APIC_QUIET, KERN_INFO
> + "...trying to set up timer as ExtINT IRQ...\n");
> init_8259A(0);
> make_8259A_irq(0);

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at