[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-kernel
Subject:    RE: [RFC][PATCH] i386 x86-64 Eliminate Local APIC timer interrupt
From:       "Protasevich, Natalie" <Natalie.Protasevich () UNISYS ! com>
Date:       2005-04-30 19:40:18
Message-ID: 19D0D50E9B1D0A40A9F0323DBFA04ACCE04B3C () USRV-EXCH4 ! na ! uis ! unisys ! com
[Download RAW message or body]

> 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/
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic