Messages in this thread | ![/](/images/icornerl.gif) | | Subject | RE: [RFC][PATCH] i386 x86-64 Eliminate Local APIC timer interrupt | Date | Sat, 30 Apr 2005 14:40:18 -0500 | From | "Protasevich, Natalie" <> |
| |
> On Fri, 29 Apr 2005, Venkatesh Pallipadi wrote: > > > 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. > > I'm rather reluctant to advocate the broadcast scheme as i > can see it breaking on a lot of systems, e.g. SMP systems > which use i8259 (as you noted), IBM x440 and ES7000. If > anything the default mode should be APIC timer and have a > parameter to disable it. Regarding things like variable timer > ticks, reprogramming the PIT is slow, and using it > extensively for such sounds like a step in the wrong > direction. Is this feature/bug going to proliferate amongst > newer processor local APICs? > > Thanks, > Zwane
I did preliminary testing of the patch applied to the rc3 on the IA-32 ES7000, and it booted fine, without the useapictimer boot option. As Zwane pointed out correctly, ES7000 doesn't handle IRQ broadcast. The kernel by-passed the non-apic timer option (chose pin1 in check_timer) and came up safely with local APIC timer. Thanks, --Natalie - 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/
| ![\](/images/icornerr.gif) |