[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