Page MenuHomeFreeBSD

Rework the atomic code to reduce the repetition
ClosedPublic

Authored by andrew on Nov 30 2015, 1:20 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 13 2023, 6:00 AM
Unknown Object (File)
Dec 10 2023, 5:14 AM
Unknown Object (File)
Nov 29 2023, 8:58 PM
Unknown Object (File)
Nov 29 2023, 4:57 PM
Unknown Object (File)
Nov 24 2023, 1:53 AM
Unknown Object (File)
Nov 23 2023, 4:44 PM
Unknown Object (File)
Nov 23 2023, 2:52 PM
Unknown Object (File)
Nov 23 2023, 2:35 PM
Subscribers

Details

Summary

This merges some of the atomic functions where they are almost identical,
or have acquire/release semantics.

While here clean them up, the cbnz instruction doesn't change the condition
flags so drop cc, however they should have memory added to the clobber list.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

andrew retitled this revision from to Rework the atomic code to reduce the repetition.
andrew updated this object.
andrew edited the test plan for this revision. (Show Details)
andrew added a reviewer: kib.
andrew added a subscriber: emaste.
sys/arm64/include/atomic.h
119 ↗(On Diff #10596)

cmp instruction does change condition codes, you need "cc" constraint for cmpsets.

Add the missing cc clobber

kib edited edge metadata.
This revision is now accepted and ready to land.Dec 1 2015, 11:11 AM
This revision was automatically updated to reflect the committed changes.