/sysdeps/x86/ |
A D | elide.h | 29 elision_adapt(signed char *adapt_count, unsigned int status) in elision_adapt() argument 42 atomic_store_relaxed (adapt_count, __elision_aconf.skip_lock_busy); in elision_adapt() 47 else if (atomic_load_relaxed (adapt_count) in elision_adapt() 49 atomic_store_relaxed (adapt_count, in elision_adapt() 62 #define ELIDE_LOCK(adapt_count, is_lock_free) \ argument 66 if (atomic_load_relaxed (&(adapt_count)) <= 0) \ 80 if (!elision_adapt (&(adapt_count), status)) \ 85 atomic_store_relaxed (&(adapt_count), \ 86 atomic_load_relaxed (&(adapt_count)) - 1); \ 93 #define ELIDE_TRYLOCK(adapt_count, is_lock_free, write) ({ \ argument [all …]
|
/sysdeps/powerpc/nptl/ |
A D | elide.h | 29 __get_new_count (uint8_t *adapt_count, int attempt) in __get_new_count() argument 37 *adapt_count = __elision_aconf.skip_lock_internal_abort; in __get_new_count() 44 *adapt_count = __elision_aconf.skip_lock_out_of_tbegin_retries; in __get_new_count() 62 # define ELIDE_LOCK(adapt_count, is_lock_free) \ argument 65 if (adapt_count > 0) \ 66 (adapt_count)--; \ 80 if (!__get_new_count (&adapt_count,i)) \ 86 # define ELIDE_TRYLOCK(adapt_count, is_lock_free, write) \ argument 93 ret = ELIDE_LOCK (adapt_count, is_lock_free); \
|
/sysdeps/unix/sysv/linux/x86/ |
A D | elision-lock.c | 39 __lll_lock_elision (int *futex, short *adapt_count, EXTRAARG int private) in __lll_lock_elision() argument 47 if (atomic_load_relaxed (adapt_count) <= 0) in __lll_lock_elision() 75 if (atomic_load_relaxed (adapt_count) in __lll_lock_elision() 77 atomic_store_relaxed (adapt_count, aconf.skip_lock_busy); in __lll_lock_elision() 83 else if (atomic_load_relaxed (adapt_count) in __lll_lock_elision() 85 atomic_store_relaxed (adapt_count, in __lll_lock_elision() 95 atomic_store_relaxed (adapt_count, in __lll_lock_elision() 96 atomic_load_relaxed (adapt_count) - 1); in __lll_lock_elision()
|
A D | elision-trylock.c | 31 __lll_trylock_elision (int *futex, short *adapt_count) in __lll_trylock_elision() argument 42 if (atomic_load_relaxed (adapt_count) <= 0) in __lll_trylock_elision() 61 if (atomic_load_relaxed (adapt_count) in __lll_trylock_elision() 63 atomic_store_relaxed (adapt_count, aconf.skip_lock_internal_abort); in __lll_trylock_elision() 70 atomic_store_relaxed (adapt_count, in __lll_trylock_elision() 71 atomic_load_relaxed (adapt_count) - 1); in __lll_trylock_elision()
|
/sysdeps/nptl/ |
A D | lowlevellock.h | 185 extern int __lll_clocklock_elision (int *futex, short *adapt_count, 191 extern int __lll_lock_elision (int *futex, short *adapt_count, int private); 195 extern int __lll_unlock_elision (int *lock, short *adapt_count, int private); 201 extern int __lll_trylock_elision (int *lock, short *adapt_count); 206 # define lll_lock_elision(futex, adapt_count, private) \ argument 207 __lll_lock_elision (&(futex), &(adapt_count), private) 208 # define lll_trylock_elision(futex, adapt_count) \ argument 209 __lll_trylock_elision (&(futex), &(adapt_count)) 211 # define lll_unlock_elision(futex, adapt_count, private) \ argument 212 __lll_unlock_elision (&(futex), &(adapt_count), private) [all …]
|
/sysdeps/unix/sysv/linux/powerpc/ |
A D | elision-trylock.c | 31 __lll_trylock_elision (int *futex, short *adapt_count) in __lll_trylock_elision() argument 37 if (atomic_load_relaxed (adapt_count) > 0) in __lll_trylock_elision() 52 atomic_store_relaxed (adapt_count, aconf.skip_lock_busy); in __lll_trylock_elision() 62 atomic_store_relaxed (adapt_count, in __lll_trylock_elision()
|
A D | elision-unlock.c | 24 __lll_unlock_elision (int *lock, short *adapt_count, int pshared) in __lll_unlock_elision() argument 36 short __tmp = atomic_load_relaxed (adapt_count); in __lll_unlock_elision() 38 atomic_store_relaxed (adapt_count, __tmp - 1); in __lll_unlock_elision()
|
A D | elision-lock.c | 40 __lll_lock_elision (int *lock, short *adapt_count, EXTRAARG int pshared) in __lll_lock_elision() argument 44 if (atomic_load_relaxed (adapt_count) > 0) in __lll_lock_elision() 66 atomic_store_relaxed (adapt_count, in __lll_lock_elision() 75 atomic_store_relaxed (adapt_count, in __lll_lock_elision()
|
/sysdeps/unix/sysv/linux/s390/ |
A D | elision-lock.c | 40 __lll_lock_elision (int *futex, short *adapt_count, EXTRAARG int private) in __lll_lock_elision() argument 48 if (atomic_load_relaxed (adapt_count) <= 0 && aconf.try_tbegin > 0) in __lll_lock_elision() 76 atomic_store_relaxed (adapt_count, aconf.skip_lock_busy); in __lll_lock_elision() 102 atomic_store_relaxed (adapt_count, in __lll_lock_elision() 111 atomic_store_relaxed (adapt_count, in __lll_lock_elision()
|
A D | elision-trylock.c | 31 __lll_trylock_elision (int *futex, short *adapt_count) in __lll_trylock_elision() argument 55 if (atomic_load_relaxed (adapt_count) <= 0 && aconf.try_tbegin > 0) in __lll_trylock_elision() 80 atomic_store_relaxed (adapt_count, aconf.skip_lock_busy); in __lll_trylock_elision() 89 *adapt_count = aconf.skip_trylock_internal_abort; in __lll_trylock_elision()
|
A D | elision-unlock.c | 24 __lll_unlock_elision(int *futex, short *adapt_count, int private) in __lll_unlock_elision() argument 54 short adapt_count_val = atomic_load_relaxed (adapt_count); in __lll_unlock_elision() 56 atomic_store_relaxed (adapt_count, adapt_count_val - 1); in __lll_unlock_elision()
|
/sysdeps/generic/ |
A D | elide.h | 21 #define ELIDE_LOCK(adapt_count, is_lock_free) 0 argument 22 #define ELIDE_TRYLOCK(adapt_count, is_lock_free, write) 0 argument
|