[PATCH] drivers/clocksource/arm_arch_timer: Tighten Allwinner arch timer workaround

Ilya Dikariev dikarill at b-tu.de
Thu Nov 10 03:10:01 PST 2022


El Thu, 10 Nov 2022 08:31:21 +0000
Marc Zyngier <maz at kernel.org> escribió:

MZ> > 
MZ> > As we know, the Allwinner A64 SoC has a buggy RCU time unit. The  
MZ> 
MZ> What is RCU?

I think I called it wrong. Anyway I mean the HR timer of A64.

MZ> 
MZ> > workaround named UNKNOWN1 was not sufficient to cover some more buggy
MZ> > bunches of this SoC. This workaround diminish the mask to 8 bits instead
MZ> > of 9.
MZ> > 
MZ> > An example run of timer test tool https://github.com/smaeul/timer-tools
MZ> > on PinePhone device (owns the A64 SoC) gives following result on a non
MZ> > patched kernel (cut off):
MZ> > 
MZ> > Running parallel counter test...
MZ> > 0: Failed after 5507 reads (0.003578 s)
MZ> > 0: 0x0000000c8272cbf1 -> 0x0000000c8272ccff -> 0x0000000c8272cc0e (     0.011 ms)

[......]

MZ> > After the proposed patch applied the test runs
MZ> > correctly (~2 hours of testing with a tool above without fails)  
MZ> 
MZ> 2 hours seems like an incredibly small amount of time given that the
MZ> existing workaround was believed to be correct. Run it continuously
MZ> for a couple of weeks on several different machines with varying
MZ> workloads and less us know the outcome.

The only A64 machine I own is the Pinephone. First time I did this patch
~9 month ago (on behalf os Samuel). Before it the system suffered hangs
every 15-20 minutes and backward time jumps ~1 time a day.
Since applying of this patch none of above occurred.
To be honest, I never did long tests (weeks). I will put the device
on a probe for some weeks and let you know then.


Best regards,
Ilya


-- 
запрягай медленно,
едь быстро!



More information about the linux-arm-kernel mailing list