Linux Arch 符号 5 atomic

1.基本型(不带返回值)
	atomic_{add,sub,inc,dec}();
	atomic_{and,or,xor,andnot}();
	atomic_{xchg,cmpxchg,try_cmpxchg}();
	atomic64_
	atomic_long_
  • 返回值前后缀
2.返回值
2.1(返回修改之后的值) _return 后缀
	atomic_add_return
2.2(返回修改之前的值) _fetch 前缀
	atomic_fetch_and
  • 屏障后缀
_acquire,_release, _relaxed后缀
这个后缀是要放到最后的
符号
ATOMIC64_INIT
arch_atomic64_fetch_add_relaxed
arch_atomic64_fetch_and_relaxed
arch_atomic64_fetch_or_relaxed
arch_atomic64_fetch_sub_relaxed
arch_atomic64_fetch_xor_relaxed
arch_atomic_fetch_add_relaxed
arch_atomic_fetch_and_relaxed
arch_atomic_fetch_or_relaxed
arch_atomic_fetch_sub_relaxed
arch_atomic_fetch_xor_relaxed
ATOMIC_FETCH_OP
arch_atomic64_read
arch_atomic64_set
arch_atomic_read
arch_atomic_set
arch_atomic_xchg
	arm32 arch_atomic_xchg 封装了 arch_xchg
arch_atomic_cmpxchg

arch_atomic_cmpxchg_relaxed
	arm32 arch_atomic_xchg 和 arch_cmpxchg_relaxed 实现相同

ATOMIC_OP


arch_atomic64_add_return_relaxed
arch_atomic64_sub_return_relaxed
arch_atomic_add_return_relaxed
arch_atomic_sub_return_relaxed
ATOMIC_OP_RETURN

arch_atomic64_dec_if_positive

  • [atomic.h atomic_xchg系列 和 cmpxchg.h arch_xchg系列 的关系]
arm32 比较乱
arm64 atomic_xchg  底层 为 arch_xchg  
riscv atomic_xchg  底层 为 arch_xchg  
arch_xchg
arch_xchg_relaxed

arch_cmpxchg_local
arch_cmpxchg_relaxed

arch_cmpxchg64_local

arch_futex_atomic_op_inuser
futex_atomic_cmpxchg_inatomic
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值