Messages in this thread | | | Date | Sun, 07 Feb 2010 12:28:51 -0500 | From | Michael Breuer <> | Subject | x86 - cpu_relax - why nop vs. pause? |
| |
I did search and noticed some old discussions. Looking at both Intel and AMD documentation, it would seem that PAUSE is the preferred instruction within a spin lock. Further, both Intel and AMD specifications state that the instruction is backward compatible with older x86 processors.
For fun, I changed nop to pause on my core i7 920 (smt enabled) and I'm seeing about a 5-10% performance improvement on 2.6.33 rc7. Perf top shows time spent in spin_lock under load drops from an average of around 35% to about 25%.
Thoughts?
| |