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

Nicholas Piggin npiggin at gmail.com
Thu Apr 21 12:07:36 AEST 2022


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...

Thanks,
Nick



More information about the Linuxppc-dev mailing list