SMP 系统中的原子增量性能

发布于 2024-12-17 17:27:28 字数 287 浏览 0 评论 0原文

我有兴趣知道以下哪一种在内核中递增全局计数器的方法在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

带刺的爱情 2024-12-24 17:27:28

如果直接转换为 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++.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文