[英]Internal implementation of atomic_cas_64() on Solaris on Sparc?
On 64-bit Solaris on Sparc, is the atomic_cas_64() function call implemented using load-link/condition-store? 在Sparc的64位Solaris上,是否使用load-link / condition-store实现了atomic_cas_64()函数调用?
If not, what if any API does Solaris offer for user-mode C code to utilize ll/sc? 如果没有,那么Solaris为用户模式C代码提供使用ll / sc的任何API怎么办?
Sparc64 - alone amongst modern CPUs - implements neither double wide CAS nor LL/SC. Sparc64(仅在现代CPU中)既不实现双倍宽度的CAS,也不实现LL / SC。 As such, implementing lock-free code is problematic.
这样,实现无锁代码是有问题的。 There a solutions, but they are solutions to a problem (ABA) which does not exist on other platforms because of their support for CAS or LL/SC.
有解决方案,但是它们是针对问题(ABA)的解决方案,由于支持CAS或LL / SC而在其他平台上不存在。 Furthermore, a range of lock-free algorithms cannot be implemented on Sparce because of this limitation.
此外,由于此限制,无法在Sparce上实现一系列无锁算法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.