On 04/18/2014 04:33 AM, Peter Zijlstra wrote:
On Thu, Apr 17, 2014 at 09:46:04PM -0400, Waiman Long wrote:
BTW, I didn't test out your atomic_test_and_set() change. Did it provide a
noticeable performance benefit when compared with cmpxchg()?
I've not tested that I think. I had a hard time showing that cmpxchg
loops were slower, but once I did, I simply replaced all cmpxchg loops
with unconditional ops where possible.
The machine that was big enough to show it lived in a lab half way
around the world and using it was a right pain in the ass, so I didn't
use it more than I absolutely had to.
Thank for letting me know about it. The cmpxchg() slowdown that I
observed happens when it is heavily contended. In other words, if many
CPUs are trying to grab it at roughly the same time. If there is just a
few contending CPUs, the difference shouldn't be too big.
-Longman
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html