SMP 系统中的原子增量性能
我有兴趣知道以下哪一种在内核中递增全局计数器的方法在 SMP 系统中是最佳的?我所说的最佳是指花费更少的时间以及花费更少的 CPU 周期。
mutex_enter(mutex)
counter++
mutex_exit(mutex)
AND、
atomic_inc(counter)
mutex_enter、mutex_exit 和atomic_inc(3C) 来自Solaris 10 (sparc)。
谢谢,
索拉夫
I am interested in knowing which one the following methods of incrementing a global counter in the kernel will be most optimal in SMP systems? By optimal, I mean less amount of time taken as well as less CPU cycles spent.
mutex_enter(mutex)
counter++
mutex_exit(mutex)
AND,
atomic_inc(counter)
mutex_enter, mutex_exit and atomic_inc(3C) are from Solaris 10 (sparc).
Thanks,
Saurav
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果直接转换为 CPU 指令,atomic_inc() 应该是最快的。如果没有,它应该不会比互斥锁保护的 counter++ 差。
atomic_inc() should be the fastest if it directly translates to a CPU instruction. If not, it should not be worse than mutex-guarded counter++.