Re: linux-next: Tree for June 13: IO APIC breakage on HP nx6325

From: Ingo Molnar
Date: Fri Jun 20 2008 - 06:45:40 EST



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

> As expressed before, unfortunately a lot of diagnostic APIC messages
> have been disabled in the 64-bit variation. The result is I was
> unable to get good results from my Internet search for bootstrap logs
> from other systems using this southbridge. Fortunately at least ACPI
> messages are present and what I noticed is some of the systems do not
> provide an IRQ0 override and still work correctly. [...]

okay, so when those files are unified, the diagnostics should remain and
be prominent. (or even be put back into the 64-bit version right now.)

> > does PIT programming matter? One detail which might matter and which
> > touches IRQ0 generation is the clockevent driver on nohz/highres. See
> > arch/x86/kernel/i8253.c:init_pit_timer():
> >
> > case CLOCK_EVT_MODE_SHUTDOWN:
> > case CLOCK_EVT_MODE_UNUSED:
> > if (evt->mode == CLOCK_EVT_MODE_PERIODIC ||
> > evt->mode == CLOCK_EVT_MODE_ONESHOT) {
> > outb_pit(0x30, PIT_MODE);
> > outb_pit(0, PIT_CH0);
> > outb_pit(0, PIT_CH0);
> > }
> > pit_disable_clocksource();
> > break;
> >
> > case CLOCK_EVT_MODE_ONESHOT:
> > /* One shot setup */
> > pit_disable_clocksource();
> > outb_pit(0x38, PIT_MODE);
> > break;
>
> It does, though not necessarily in this case. In principle all this
> 8254-through-APIC timer validation code assumes the source retriggers
> automatically and if an edge is lost because the APIC input targeted
> is masked or not configured yet, another one will follow shortly by
> itself. It used to be the case when this code was implemented as we
> never used any of the single-shot modes of the 8254 back then.
>
> Is it now possible at the time check_timer() is called the 8254 has
> been put in one of the single-shot modes? If so, then additional code
> has to be put in place either to switch the timer into the periodic
> mode for the duration of check_timer() or to rearm the timer if in a
> single-shot mode each time timer_irq_works() is called.

that's a question for Thomas i guess, he wrote the PIT single-shot code.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/