[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <af4a09e2-5b3e-4223-a926-4ab33b327416@linaro.org>
Date: Wed, 10 Sep 2025 11:02:58 +0200
From: Daniel Lezcano <daniel.lezcano@...aro.org>
To: Markus Stockhausen <markus.stockhausen@....de>, tglx@...utronix.de,
linux-kernel@...r.kernel.org, howels@...thatwemight.be, bjorn@...k.no
Subject: Re: [PATCH 1/4] clocksource/drivers/timer-rtl-otto: work around dying
timers
On 04/08/2025 10:03, Markus Stockhausen wrote:
> The OpenWrt distribution has switched from kernel longterm 6.6 to
> 6.12. Reports show that devices with the Realtek Otto switch platform
> die during operation and are rebooted by the watchdog. Sorting out
> other possible reasons the Otto timer is to blame. The platform
> currently consists of 4 targets with different hardware revisions.
> It is not 100% clear which devices and revisions are affected.
>
> Analysis shows:
>
> A more aggressive sched/deadline handling leads to more timer starts
> with small intervals. This increases the bug chances. See
> https://marc.info/?l=linux-kernel&m=175276556023276&w=2
>
> Focusing on the real issue a hardware limitation on some devices was
> found. There is a minimal chance that a timer ends without firing an
> interrupt if it is reprogrammed within the 5us before its expiration
> time.
Is it possible the timer IRQ flag is reset when setting the new counter
value ?
While in the code path with the interrupt disabled, the timer expires in
these 5us, the IRQ flag is raised, then the driver sets a new value and
this flag is reset automatically, thus losing the current timer expiration ?
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
Powered by blists - more mailing lists