HomeFreeBSD

Add LSE-based atomic(9) implementations.

Description

Add LSE-based atomic(9) implementations.

These make use of the cas*, ld* and swp instructions added in ARMv8.1.
Testing shows them to be significantly more performant than LL/SC-based
implementations.

No functional change here since the wrappers still unconditionally
select the _llsc variants.

Reviewed by: andrew, kib
MFC after: 1 month
Submitted by: Ali Saidi <alisaidi@amazon.com> (original version)
Differential Revision: https://reviews.freebsd.org/D23324

Details

Provenance
markjAuthored on
Reviewer
andrew
Differential Revision
D23324: Add LSE-based atomic(9) implementations.
Parents
rS357458: Add wrappers for arm64 atomics.
Branches
Unknown
Tags
Unknown