Searched refs:cmpxchg (Results 1 – 4 of 4) sorted by relevance
12 /// 仅在x86_64架构下使用cmpxchg14 /// 由于需要cmpxchg,所以整个lockref按照8字节对齐22 /// 除了x86_64以外的架构,不使用cmpxchg进行优化51   并且,在x64体系结构下,还通过cmpxchg()指令,实现了无锁快速路径。不需要对自旋锁加锁即可更改引用计数的值,进一步提升性能。当快速路径不存在(对于未支持的体系结构)或…55   在改变引用计数时,cmpxchg先确保没有别的线程持有锁,然后改变引用计数,同时通过`lock cmpxchg`指令验证在更改发生时,没有其他线程持有锁,并且当前的目标loc…113   本函数与`lockref_dec_return()`的区别在于,当在`cmpxchg()`中检测到`count<=0`或已加锁,本函数会再次尝试通过加锁来执行操作,而`loc…126   本函数与`lockref_dec()`的区别在于,当在`cmpxchg()`中检测到`count<=0`或已加锁,本函数会直接返回错误,而`lockref_dec()`会再次…129 若当前处理器架构不支持cmpxchg,则退化为`self.dec()`145   该函数与`lockref_dec_or_lock_not_zero()`的区别在于,当`cmpxchg()`时发现`old.count≤1`时,该函数会直接返回`Err(-1…161   该函数与`lockref_dec_not_zero()`的区别在于,当cmpxchg()时发现`old.count≤1`时,该函数会尝试加锁来进行操作,而`lockref_d…
5 pub mod cmpxchg; module
33 - 目录结构优化:移动asm.h和cmpxchg.h217 * 移动asm.h和cmpxchg.h
3 use crate::{arch::asm::cmpxchg::try_cmpxchg_q, syscall::SystemError};