Re: aarch64 and kqueue timer events

From: Mark Johnston <markj_at_freebsd.org>
Date: Tue, 07 Jun 2022 13:39:03 UTC
On Tue, Jun 07, 2022 at 08:23:00AM +0000, Christian Ullrich wrote:
> * Matthew Grooms wrote on 2021-07-25:
> 
> > On 7/24/2021 8:18 PM, Matthew Grooms wrote:
> 
> >> I'm seeing some strange behavior with kqueue timers on my aarch64 
> >> host. Here is a simple test program that I've compiled on both amd64 
> 
> >> When I compile and run the code on an amd64 host, everything works as 
> >> expected. The event timer expires once every 3 seconds ...
> >> However, when I compile and run the same code on an aarch64 host ( 
> >> rpi4b ), something very different happens. The event timer expires 
> >> after 3 seconds the first time. But each subsequent expiration is for 
> >> exactly twice the defined interval, 6 seconds ...
> 
> > FreeBSD generic 13.0-STABLE FreeBSD 13.0-STABLE #8 
> > stable/13-n246015-ade8b810b02-dirty: Tue Jun 15 21:04:38 CDT 2021
> 
> Hello,
> 
> I see the same on 13.1-RELEASE (releng/13.1) (double interval after the 
> first) vs. 13.0-RELEASE-p7 (releng/13.0) (expected interval), on a Pi 3B+.
> 
> Did you ever find a solution?

The bug was fixed recently, unfortunately after 13.1 was released.  See
https://cgit.freebsd.org/src/commit/?id=524dadf7a8725dea144571843e611dbdbd59d668
We plan to release an erratum with a patch for 13.1.