As with atomic(9) use the ARMv8.1 Large System Extension atomic
instructions to implement the userspace compare and swap functions.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
I believe that the patch itself if fine.
But I noted a thing with casueword(32) and its use in kern_umtx.c. It seems that kern_umtx.c assumes that the function has sequential-constistent fence semantic. Note that both lock acquire and release just return success if casueword32 succeeded, in do_lock_normal() and do_unlock_normal(). The full fence semantic is provided on x86, but I suspect all ll/sc arches are affected.