mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Clean up BUSY_WAIT_NOP and atomic_delay.
This patch combines BUSY_WAIT_NOP and atomic_delay into a new atomic_spin_nop function and adjusts all clients. The new function is put into atomic.h because what is best done in a spin loop is architecture-specific, and atomics must be used for spinning. The function name is meant to tell users that this has no effect on synchronization semantics but is a performance aid for spinning.
This commit is contained in:
@ -23,6 +23,7 @@
|
||||
#include <sys/param.h>
|
||||
#include <not-cancel.h>
|
||||
#include "pthreadP.h"
|
||||
#include <atomic.h>
|
||||
#include <lowlevellock.h>
|
||||
#include <stap-probe.h>
|
||||
|
||||
@ -135,10 +136,7 @@ __pthread_mutex_lock (mutex)
|
||||
LLL_MUTEX_LOCK (mutex);
|
||||
break;
|
||||
}
|
||||
|
||||
#ifdef BUSY_WAIT_NOP
|
||||
BUSY_WAIT_NOP;
|
||||
#endif
|
||||
atomic_spin_nop ();
|
||||
}
|
||||
while (LLL_MUTEX_TRYLOCK (mutex) != 0);
|
||||
|
||||
|
Reference in New Issue
Block a user