Explorar o código

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 <tony.luck@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Luck, Tony %!s(int64=12) %!d(string=hai) anos
pai
achega
d472d9d98b
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      lib/lockref.c

+ 1 - 0
lib/lockref.c

@@ -19,6 +19,7 @@
 		if (likely(old.lock_count == prev.lock_count)) {		\
 			SUCCESS;						\
 		}								\
+		cpu_relax();							\
 	}									\
 } while (0)