glibc/nptl
Wangyang Guo 8162147872 nptl: Add backoff mechanism to spinlock loop
When mutiple threads waiting for lock at the same time, once lock owner
releases the lock, waiters will see lock available and all try to lock,
which may cause an expensive CAS storm.

Binary exponential backoff with random jitter is introduced. As try-lock
attempt increases, there is more likely that a larger number threads
compete for adaptive mutex lock, so increase wait time in exponential.
A random jitter is also added to avoid synchronous try-lock from other
threads.

v2: Remove read-check before try-lock for performance.

v3:
1. Restore read-check since it works well in some platform.
2. Make backoff arch dependent, and enable it for x86_64.
3. Limit max backoff to reduce latency in large critical section.

v4: Fix strict-prototypes error in sysdeps/nptl/pthread_mutex_backoff.h

v5: Commit log updated for regression in large critical section.

Result of pthread-mutex-locks bench

Test Platform: Xeon 8280L (2 socket, 112 CPUs in total)
First Row: thread number
First Col: critical section length
Values: backoff vs upstream, time based, low is better

non-critical-length: 1
	1	2	4	8	16	32	64	112	140
0	0.99	0.58	0.52	0.49	0.43	0.44	0.46	0.52	0.54
1	0.98	0.43	0.56	0.50	0.44	0.45	0.50	0.56	0.57
2	0.99	0.41	0.57	0.51	0.45	0.47	0.48	0.60	0.61
4	0.99	0.45	0.59	0.53	0.48	0.49	0.52	0.64	0.65
8	1.00	0.66	0.71	0.63	0.56	0.59	0.66	0.72	0.71
16	0.97	0.78	0.91	0.73	0.67	0.70	0.79	0.80	0.80
32	0.95	1.17	0.98	0.87	0.82	0.86	0.89	0.90	0.90
64	0.96	0.95	1.01	1.01	0.98	1.00	1.03	0.99	0.99
128	0.99	1.01	1.01	1.17	1.08	1.12	1.02	0.97	1.02

non-critical-length: 32
	1	2	4	8	16	32	64	112	140
0	1.03	0.97	0.75	0.65	0.58	0.58	0.56	0.70	0.70
1	0.94	0.95	0.76	0.65	0.58	0.58	0.61	0.71	0.72
2	0.97	0.96	0.77	0.66	0.58	0.59	0.62	0.74	0.74
4	0.99	0.96	0.78	0.66	0.60	0.61	0.66	0.76	0.77
8	0.99	0.99	0.84	0.70	0.64	0.66	0.71	0.80	0.80
16	0.98	0.97	0.95	0.76	0.70	0.73	0.81	0.85	0.84
32	1.04	1.12	1.04	0.89	0.82	0.86	0.93	0.91	0.91
64	0.99	1.15	1.07	1.00	0.99	1.01	1.05	0.99	0.99
128	1.00	1.21	1.20	1.22	1.25	1.31	1.12	1.10	0.99

non-critical-length: 128
	1	2	4	8	16	32	64	112	140
0	1.02	1.00	0.99	0.67	0.61	0.61	0.61	0.74	0.73
1	0.95	0.99	1.00	0.68	0.61	0.60	0.60	0.74	0.74
2	1.00	1.04	1.00	0.68	0.59	0.61	0.65	0.76	0.76
4	1.00	0.96	0.98	0.70	0.63	0.63	0.67	0.78	0.77
8	1.01	1.02	0.89	0.73	0.65	0.67	0.71	0.81	0.80
16	0.99	0.96	0.96	0.79	0.71	0.73	0.80	0.84	0.84
32	0.99	0.95	1.05	0.89	0.84	0.85	0.94	0.92	0.91
64	1.00	0.99	1.16	1.04	1.00	1.02	1.06	0.99	0.99
128	1.00	1.06	0.98	1.14	1.39	1.26	1.08	1.02	0.98

There is regression in large critical section. But adaptive mutex is
aimed for "quick" locks. Small critical section is more common when
users choose to use adaptive pthread_mutex.

Signed-off-by: Wangyang Guo <wangyang.guo@intel.com>
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-05-09 14:38:40 -07:00
..
alloca_cutoff.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
allocatestack.c nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 2022-04-14 12:48:31 -03:00
cancellation.c nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 2022-04-14 12:48:31 -03:00
cleanup_compat.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
cleanup_defer_compat.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
cleanup_defer.c nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 2022-04-14 12:48:31 -03:00
cleanup_routine.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
cleanup.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
cond-perf.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
default-sched.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
descr.h nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 2022-04-14 12:48:31 -03:00
DESIGN-systemtap-probes.txt nptl: Add POSIX-proposed pthread_mutex_clocklock 2019-07-12 13:36:25 +00:00
elision-conf.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
elision-conf.h
elision-lock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
elision-timed.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
elision-trylock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
elision-unlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
errno-loc.c
events.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
futex-internal.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
libc_multiple_threads.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
libc-cleanup.c nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 2022-04-14 12:48:31 -03:00
libpthread-compat.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
lowlevellock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Makefile Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
nptl_deallocate_tsd.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
nptl_free_tcb.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
nptl_lock_constants.pysym New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
nptl_nthreads.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
nptl_setxid.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
nptl-printers.py Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
nptl-stack.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
nptl-stack.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
nptlfreeres.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
old_pthread_cond_broadcast.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
old_pthread_cond_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
old_pthread_cond_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
old_pthread_cond_signal.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
old_pthread_cond_timedwait.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
old_pthread_cond_wait.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
perf.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_copy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_extension.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_getaffinity.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_getdetachstate.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_getguardsize.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_getinheritsched.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_getschedparam.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_getschedpolicy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_getscope.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_getsigmask.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_getstack.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_getstackaddr.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_getstacksize.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_setaffinity.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_setdetachstate.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_setguardsize.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_setinheritsched.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_setschedparam.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_setschedpolicy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_setscope.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_setsigmask_internal.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_setsigmask.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_setstack.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_setstackaddr.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_attr_setstacksize.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_barrier_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_barrier_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_barrier_wait.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_barrierattr_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_barrierattr_getpshared.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_barrierattr_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_barrierattr_setpshared.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_cancel.c nptl: Fix pthread_cancel cancelhandling atomic operations 2022-04-20 12:01:43 -03:00
pthread_cleanup_upto.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_clockjoin.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_cond_broadcast.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_cond_common.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_cond_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_cond_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_cond_signal.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_cond_wait.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_condattr_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_condattr_getclock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_condattr_getpshared.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_condattr_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_condattr_setclock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_condattr_setpshared.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_create.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_detach.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_equal.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_exit.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_getaffinity.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_getattr_default_np.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_getattr_np.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_getconcurrency.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_getcpuclockid.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_getname.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_getschedparam.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_getspecific.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_join_common.c nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 2022-04-14 12:48:31 -03:00
pthread_join.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_key_create.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_key_delete.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_keys.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_kill_other_threads.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_kill.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutex_cond_lock.c nptl: Move core mutex functions into libc 2021-04-21 19:49:51 +02:00
pthread_mutex_conf.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutex_consistent.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutex_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutex_getprioceiling.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutex_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutex_lock.c nptl: Add backoff mechanism to spinlock loop 2022-05-09 14:38:40 -07:00
pthread_mutex_setprioceiling.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutex_timedlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutex_trylock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutex_unlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutexattr_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutexattr_getprioceiling.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutexattr_getprotocol.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutexattr_getpshared.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutexattr_getrobust.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutexattr_gettype.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutexattr_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutexattr_setprioceiling.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutexattr_setprotocol.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutexattr_setpshared.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutexattr_setrobust.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_mutexattr_settype.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_once.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlock_clockrdlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlock_clockwrlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlock_common.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlock_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlock_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlock_rdlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlock_timedrdlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlock_timedwrlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlock_tryrdlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlock_trywrlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlock_unlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlock_wrlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlockattr_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlockattr_getkind_np.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlockattr_getpshared.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlockattr_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlockattr_setkind_np.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_rwlockattr_setpshared.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_self.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_setaffinity.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_setattr_default_np.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_setcancelstate.c nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 2022-04-14 12:48:31 -03:00
pthread_setcanceltype.c nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 2022-04-14 12:48:31 -03:00
pthread_setconcurrency.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_setname.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_setschedparam.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_setschedprio.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_setspecific.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_sigmask.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_sigqueue.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_spin_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_spin_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_spin_lock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_spin_trylock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_spin_unlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_testcancel.c nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 2022-04-14 12:48:31 -03:00
pthread_timedjoin.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_tryjoin.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread_yield.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pthread-pi-defines.sym Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
sem_clockwait.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sem_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sem_getvalue.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sem_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sem_post.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sem_timedwait.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sem_wait.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sem_waitcommon.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
semaphoreP.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
shlib-versions Remove configuration name patterns from shlib-versions. 2014-09-12 12:28:47 +00:00
test-cond-printers.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-cond-printers.py Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-condattr-printers.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-condattr-printers.py Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-mutex-printers.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-mutex-printers.py Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-mutexattr-printers.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-mutexattr-printers.py Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-rwlock-printers.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-rwlock-printers.py Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-rwlockattr-printers.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-rwlockattr-printers.py Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
thrd_current.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
thrd_yield.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
TODO
TODO-kernel
TODO-testing
tpp.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-attr2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-attr3.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-audit-threads-mod1.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-audit-threads-mod2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-audit-threads.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-audit-threads.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-barrier5.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-cancel4_1.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-cancel4_2-time64.c y2038: Add test coverage 2021-06-15 10:42:11 -03:00
tst-cancel4_2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-cancel7.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-cancel17.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-cancel24-static.cc
tst-cancel24.cc
tst-cancelx7.c
tst-cancelx17.c
tst-cleanup4.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-cleanup4aux.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-cleanupx4.c
tst-cleanupx4aux.c Compile tst-cleanupx4 test with -fexceptions 2016-06-29 20:24:44 -07:00
tst-clock2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-compat-forwarder-mod.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-compat-forwarder.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-cond22.c nptl: Extract <bits/atomic_wide_counter.h> from pthread_cond_common.c 2021-11-17 12:20:13 +01:00
tst-cond26.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-context1.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-default-attr.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-dlsym1.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
tst-eintr1.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-exec4.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-exec5.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-execstack-mod.c
tst-execstack.c
tst-initializers1-c11.c Add -std=gnu11 and -std=c11 NPTL initializers tests. 2015-10-27 21:48:34 +00:00
tst-initializers1-c89.c
tst-initializers1-c99.c
tst-initializers1-gnu11.c Add -std=gnu11 and -std=c11 NPTL initializers tests. 2015-10-27 21:48:34 +00:00
tst-initializers1-gnu89.c
tst-initializers1-gnu99.c
tst-initializers1.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-minstack-cancel.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-minstack-exit.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-minstack-throw.cc Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-mutex5a.c
tst-mutex7a.c
tst-mutex8-static.c
tst-mutex8.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-mutexpi1.c Fix -Waddress warnings in nptl/tst-mutex1.c. 2014-12-02 22:33:57 +00:00
tst-mutexpi2.c
tst-mutexpi3.c
tst-mutexpi4.c
tst-mutexpi5.c
tst-mutexpi5a.c
tst-mutexpi6.c
tst-mutexpi7.c
tst-mutexpi7a.c
tst-mutexpi8-static.c
tst-mutexpi8.c
tst-mutexpi9.c
tst-mutexpi10.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-mutexpp1.c Fix -Waddress warnings in nptl/tst-mutex1.c. 2014-12-02 22:33:57 +00:00
tst-mutexpp5.c nptl: Fix PTHREAD_PRIO_PROTECT timed lock 2020-11-27 09:59:13 -03:00
tst-mutexpp6.c Get rid of warning comparision will always evaluate as true 2014-12-12 11:14:00 +01:00
tst-mutexpp9.c nptl: Fix PTHREAD_PRIO_PROTECT timed lock 2020-11-27 09:59:13 -03:00
tst-mutexpp10.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-oddstacklimit.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-once5.cc Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-pthread_exit-nothreads-static.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-pthread_exit-nothreads.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-pthread-attr-affinity-fail.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-pthread-attr-affinity.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-pthread-attr-sigmask.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-pthread-defaultattr-free.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-pthread-gdb-attach-static.c nptl_db: Support different libpthread/ld.so load orders (bug 27744) 2021-04-21 11:50:43 +02:00
tst-pthread-gdb-attach.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-pthread-getattr.c Allow for unpriviledged nested containers 2022-04-04 14:17:08 -04:00
tst-pthread-timedlock-lockloop.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-robust-fork.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-robustpi1.c
tst-robustpi2.c
tst-robustpi3.c
tst-robustpi4.c
tst-robustpi5.c
tst-robustpi6.c
tst-robustpi7.c
tst-robustpi8.c
tst-robustpi9.c
tst-rwlock2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock2a.c
tst-rwlock2b.c New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
tst-rwlock3.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock6.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock7.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock8.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock9.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock10.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock11.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock15.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock17.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock18.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock19.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock20.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-rwlock-pwn.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-sched1.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-sem11-static.c
tst-sem11.c Fix semaphore destruction (bug 12674). 2015-01-21 00:46:16 -05:00
tst-sem12-static.c
tst-sem12.c
tst-sem13.c nptl: Add POSIX-proposed sem_clockwait 2019-07-12 13:36:23 +00:00
tst-sem17.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-setgetname.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-setgroups.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-setuid1-static.c
tst-setuid1.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-setuid2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-signal3.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-signal7.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-stack2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-stack3.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-stack4.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-stack4mod.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-stackguard1-static.c
tst-stackguard1.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-thread_local1.cc Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-thread-affinity-pthread2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-thread-affinity-pthread.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-thread-affinity-sched.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-thread-exit-clobber.cc Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-thread-setspecific.c nptl: Use libc-diag.h with tst-thread-setspecific 2022-03-31 09:02:41 -03:00
tst-tls3-malloc.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-tls3.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-tls3mod.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-tls5.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-tls5.h Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-tls5mod.c
tst-tls5moda.c
tst-tls5modb.c
tst-tls5modc.c
tst-tls5modd.c
tst-tls5mode.c
tst-tls5modf.c
tst-tls6.sh Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-tpp.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-tsd3.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-tsd4.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
unwind.c nptl: Fix cleanups for stack grows up [BZ# 28899] 2022-02-28 15:47:38 +00:00
unwindbuf.sym Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
vars.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Versions nptl: Use out-of-line wake function in __libc_lock_unlock slow path 2021-07-09 10:59:22 +02:00