Re: [RFC][PATCH] i386 x86-64 Eliminate Local APIC timer interrupt
From: Zwane Mwaikambo
Date: Fri Apr 29 2005 - 19:59:13 EST
On Fri, 29 Apr 2005, Zwane Mwaikambo wrote:
> On Fri, 29 Apr 2005, Venkatesh Pallipadi wrote:
>
> >
> > Background:
> > Local APIC timer stops functioning when CPU is in C3 state. As a
> > result the local APIC timer interrupt will fire at uncertain times, depending
> > on how long we spend in C3 state. And this has two side effects
> > * Idle balancing will not happen as we expect it to.
> > * Kernel statistics for idle time will not be proper (as we get less LAPIC
> > interrupts when we are idle). This can result in confusing other parts of
> > kernel (like ondemand cpufreq governor) which depends on this idle stats.
> >
> >
> > Proposed Fix:
> > Attached is a prototype patch, that tries to eliminate the dependency on
> > local APIC timer for update_process_times(). The patch gets rid of Local APIC
> > timer altogether. We use the timer interrupt (IRQ 0) configured in
> > broadcast mode in IOAPIC instead (Doesn't work with 8259).
> > As changing anything related to basic timer interrupt is a little bit risky,
> > I have a boot parameter currently ("useapictimer") to switch back to original
> > local APIC timer way of doing things.
>
> This all looks like it'll contend on irq0 related locks really badly, have
> you profiled this?
Hmm ok i see you have IRQ_PER_CPU, so please ignore my statement.
Thanks,
Zwane
-
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/