HomeFreeBSD

MFC r311169,r311898,r312925,r312973,r312975,r313007,r313040,r313080,

Description

MFC r311169,r311898,r312925,r312973,r312975,r313007,r313040,r313080,

r313254,r313341

amd64: add atomic_fcmpset

sparc64: add atomic_fcmpset

Implement atomic_fcmpset_* for arm and arm64.

Add atomic_fcmpset_*() inlines for powerpc

Summary:
atomic_fcmpset_*() is analogous to atomic_cmpset(), but saves off the read value
from the target memory location into the 'old' pointer in the case of failure.

i386: add atomic_fcmpset

Don't retry a lost reservation in atomic_fcmpset()

The desired behavior of atomic_fcmpset_() is to always exit on error. Instead
of retrying on lost reservation, leave the retry to the caller, and return

Add atomic_fcmpset_*() inlines for MIPS

atomic_fcmpset_*() is analogous to atomic_cmpset(), but saves off the
read value from the target memory location into the 'old' pointer.

i386: fixup fcmpset

An incorrect output specifier was used which worked with clang by accident,
but breaks with the in-tree gcc version.

While here plug a whitespace nit.

Implement atomic_fcmpset_*() for RISC-V.

Use 64bit store instruction in atomic_fcmpset_64.

Details

Provenance
mjgAuthored on
Parents
rS315370: The adj_free and max_free values of new_entry will be calculated and
Branches
Unknown
Tags
Unknown