[PATCH] powerpc/time: Always set decrementer in timer_interrupt()

Nicholas Piggin npiggin at gmail.com
Thu Apr 28 14:18:39 AEST 2022


Excerpts from Nicholas Piggin's message of April 21, 2022 12:07 pm:
> Excerpts from Michal Suchánek's message of April 21, 2022 12:28 am:
>> Hello,
>> 
>> On Thu, Apr 21, 2022 at 12:16:57AM +1000, Michael Ellerman wrote:
>>> This is a partial revert of commit 0faf20a1ad16 ("powerpc/64s/interrupt:
>>> Don't enable MSR[EE] in irq handlers unless perf is in use").
>>> 
>>> Prior to that commit, we always set the decrementer in
>>> timer_interrupt(), to clear the timer interrupt. Otherwise we could end
>>> up continuously taking timer interrupts.
>>> 
>>> When high res timers are enabled there is no problem seen with leaving
>>> the decrementer untouched in timer_interrupt(), because it will be
>>> programmed via hrtimer_interrupt() -> tick_program_event() ->
>>> clockevents_program_event() -> decrementer_set_next_event().
>>> 
>>> However with CONFIG_HIGH_RES_TIMERS=n or booting with highres=off, we
>> 
>> How difficult is it to detect this condition?
>> 
>> Maybe detecting this could be just added?
> 
> Possibly not too difficult but I'd like to see if we can get this to work
> in core timer code -
> 
> https://lists.ozlabs.org/pipermail/linuxppc-dev/2022-April/242212.html
> 
> I'll resend as a patch and see what flamage I get...

tglx merged it into his tree, so we could try again after its
upstream.

https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=timers/core&id=62c1256d544747b38e77ca9b5bfe3a26f9592576

I'm kind of worried the patch will explode some strange clock event 
device in an obscure way so we may wait for a release or two first.

Thanks,
Nick


More information about the Linuxppc-dev mailing list