HomeFreeBSD

Reimplement FreeBSD/arm64 dtrace_gethrtime() to use the system timer.

Description

Reimplement FreeBSD/arm64 dtrace_gethrtime() to use the system timer.
dtrace_gethrtime() is the high-resolution nanosecond timestemp used
for the DTrace 'timestamp' built-in variable. The new implementation
uses the EL0 cycle counter and frequency registers in ARMv8-A. This
replaces a previous implementation that relied on an
instrumentation-safe implementation of getnanotime(), which provided
only timer resolution.

Approved by: re (gjb)
Reviewed by: andrew, bsdimp (older version)
Useful comments appreciated: jrtc27, emaste
Differential Revision: https://reviews.freebsd.org/D28723

Details

Provenance
rwatsonAuthored on Feb 16 2021, 3:19 PM
Reviewer
andrew
Differential Revision
D28723: Reimplement dtrace_gethrtime() on arm64 to use the cycle counter.
Parents
rG52d4c9e2fa02: Fix crash with rtadv-originated multipath IPv6 routes.
Branches
Unknown
Tags
Unknown