Messages in this thread | | | Date | Fri, 29 Apr 2005 18:46:21 -0600 (MDT) | From | Zwane Mwaikambo <> | Subject | Re: [RFC][PATCH] i386 x86-64 Eliminate Local APIC timer interrupt |
| |
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?
Thanks, Zwane
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |