From: Luck, Tony Date: Tue, 3 Sep 2013 21:49:49 +0000 (-0700) Subject: lockref: Relax in cmpxchg loop X-Git-Tag: v3.12-rc1~181 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d472d9d98b463dd7a04f2bcdeafe4261686ce6ab;p=platform%2Fkernel%2Flinux-stable.git lockref: Relax in cmpxchg loop While we are likley to succeed and break out of this loop, it isn't guaranteed. We should be power and thread friendly if we do have to go around for a second (or third, or more) attempt. Signed-off-by: Tony Luck Signed-off-by: Linus Torvalds --- diff --git a/lib/lockref.c b/lib/lockref.c index 7819c2d..9d76f40 100644 --- a/lib/lockref.c +++ b/lib/lockref.c @@ -19,6 +19,7 @@ if (likely(old.lock_count == prev.lock_count)) { \ SUCCESS; \ } \ + cpu_relax(); \ } \ } while (0)