glibc/spin-smarter.patch
Andrey Bondrov 2bb20c2d90 New version 2.28
Sync patches with OpenMandriva
2019-04-12 16:38:20 +10:00

17 lines
467 B
Diff

--- glibc-2.27/nptl/pthread_mutex_lock.c~ 2018-02-01 16:17:18.000000000 +0000
+++ glibc-2.27/nptl/pthread_mutex_lock.c 2018-05-15 14:19:00.864190585 +0000
@@ -133,7 +133,13 @@
LLL_MUTEX_LOCK (mutex);
break;
}
- atomic_spin_nop ();
+ /* MO read while spinning */
+ do
+ {
+ atomic_spin_nop ();
+ }
+ while (atomic_load_relaxed (&mutex->__data.__lock) != 0 &&
+ ++cnt < max_cnt);
}
while (LLL_MUTEX_TRYLOCK (mutex) != 0);