How does atomic operation work on smp
Jimmy Pan <[email protected]> Thu, 8 Nov 2012 15:01:24 +0800
| Newsgroups | org.kernel.vger.linux-c-programming,org.kernel.vger.linux-newbie |
|---|---|
| Message-ID | <[email protected]> |
I understand how atomic operation work on unary core processors, I think it just disables the interrupt and dominate the cpu until it finished. While, how do we implement this on multi processor computers? Suppose cpu A is performing an atomic operation on variable a. At the same time, cpu B is also performing the operation on a. In such the result may be overwritten. Of course we can use spinlocks, but on the atomic operation's behalf, how does it gurantee to prevent such case? Can anyone explain the crux of it? Thanks. Jimmy Pan