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

Michael Ellerman mpe at ellerman.id.au
Fri Apr 29 22:42:45 AEST 2022


Nicholas Piggin <npiggin at gmail.com> writes:
> 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.

Hah yep, :face-with-cold-sweat:

I created an issue so hopefully we don't forget:

  https://github.com/linuxppc/issues/issues/408

cheers


More information about the Linuxppc-dev mailing list