glibc/sysdeps/unix/sysv/linux
Torvald Riegel ed19993b5b New condvar implementation that provides stronger ordering guarantees.
This is a new implementation for condition variables, required
after http://austingroupbugs.net/view.php?id=609 to fix bug 13165.  In
essence, we need to be stricter in which waiters a signal or broadcast
is required to wake up; this couldn't be solved using the old algorithm.
ISO C++ made a similar clarification, so this also fixes a bug in
current libstdc++, for example.

We can't use the old algorithm anymore because futexes do not guarantee
to wake in FIFO order.  Thus, when we wake, we can't simply let any
waiter grab a signal, but we need to ensure that one of the waiters
happening before the signal is woken up.  This is something the previous
algorithm violated (see bug 13165).

There's another issue specific to condvars: ABA issues on the underlying
futexes.  Unlike mutexes that have just three states, or semaphores that
have no tokens or a limited number of them, the state of a condvar is
the *order* of the waiters.  A waiter on a semaphore can grab a token
whenever one is available; a condvar waiter must only consume a signal
if it is eligible to do so as determined by the relative order of the
waiter and the signal.
Therefore, this new algorithm maintains two groups of waiters: Those
eligible to consume signals (G1), and those that have to wait until
previous waiters have consumed signals (G2).  Once G1 is empty, G2
becomes the new G1.  64b counters are used to avoid ABA issues.

This condvar doesn't yet use a requeue optimization (ie, on a broadcast,
waking just one thread and requeueing all others on the futex of the
mutex supplied by the program).  I don't think doing the requeue is
necessarily the right approach (but I haven't done real measurements
yet):
* If a program expects to wake many threads at the same time and make
that scalable, a condvar isn't great anyway because of how it requires
waiters to operate mutually exclusive (due to the mutex usage).  Thus, a
thundering herd problem is a scalability problem with or without the
optimization.  Using something like a semaphore might be more
appropriate in such a case.
* The scalability problem is actually at the mutex side; the condvar
could help (and it tries to with the requeue optimization), but it
should be the mutex who decides how that is done, and whether it is done
at all.
* Forcing all but one waiter into the kernel-side wait queue of the
mutex prevents/avoids the use of lock elision on the mutex.  Thus, it
prevents the only cure against the underlying scalability problem
inherent to condvars.
* If condvars use short critical sections (ie, hold the mutex just to
check a binary flag or such), which they should do ideally, then forcing
all those waiter to proceed serially with kernel-based hand-off (ie,
futex ops in the mutex' contended state, via the futex wait queues) will
be less efficient than just letting a scalable mutex implementation take
care of it.  Our current mutex impl doesn't employ spinning at all, but
if critical sections are short, spinning can be much better.
* Doing the requeue stuff requires all waiters to always drive the mutex
into the contended state.  This leads to each waiter having to call
futex_wake after lock release, even if this wouldn't be necessary.

	[BZ #13165]
	* nptl/pthread_cond_broadcast.c (__pthread_cond_broadcast): Rewrite to
	use new algorithm.
	* nptl/pthread_cond_destroy.c (__pthread_cond_destroy): Likewise.
	* nptl/pthread_cond_init.c (__pthread_cond_init): Likewise.
	* nptl/pthread_cond_signal.c (__pthread_cond_signal): Likewise.
	* nptl/pthread_cond_wait.c (__pthread_cond_wait): Likewise.
	(__pthread_cond_timedwait): Move here from pthread_cond_timedwait.c.
	(__condvar_confirm_wakeup, __condvar_cancel_waiting,
	__condvar_cleanup_waiting, __condvar_dec_grefs,
	__pthread_cond_wait_common): New.
	(__condvar_cleanup): Remove.
	* npt/pthread_condattr_getclock.c (pthread_condattr_getclock): Adapt.
	* npt/pthread_condattr_setclock.c (pthread_condattr_setclock):
	Likewise.
	* npt/pthread_condattr_getpshared.c (pthread_condattr_getpshared):
	Likewise.
	* npt/pthread_condattr_init.c (pthread_condattr_init): Likewise.
	* nptl/tst-cond1.c: Add comment.
	* nptl/tst-cond20.c (do_test): Adapt.
	* nptl/tst-cond22.c (do_test): Likewise.
	* sysdeps/aarch64/nptl/bits/pthreadtypes.h (pthread_cond_t): Adapt
	structure.
	* sysdeps/arm/nptl/bits/pthreadtypes.h (pthread_cond_t): Likewise.
	* sysdeps/ia64/nptl/bits/pthreadtypes.h (pthread_cond_t): Likewise.
	* sysdeps/m68k/nptl/bits/pthreadtypes.h (pthread_cond_t): Likewise.
	* sysdeps/microblaze/nptl/bits/pthreadtypes.h (pthread_cond_t):
	Likewise.
	* sysdeps/mips/nptl/bits/pthreadtypes.h (pthread_cond_t): Likewise.
	* sysdeps/nios2/nptl/bits/pthreadtypes.h (pthread_cond_t): Likewise.
	* sysdeps/s390/nptl/bits/pthreadtypes.h (pthread_cond_t): Likewise.
	* sysdeps/sh/nptl/bits/pthreadtypes.h (pthread_cond_t): Likewise.
	* sysdeps/tile/nptl/bits/pthreadtypes.h (pthread_cond_t): Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h (pthread_cond_t):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h (pthread_cond_t):
	Likewise.
	* sysdeps/x86/bits/pthreadtypes.h (pthread_cond_t): Likewise.
	* sysdeps/nptl/internaltypes.h (COND_NWAITERS_SHIFT): Remove.
	(COND_CLOCK_BITS): Adapt.
	* sysdeps/nptl/pthread.h (PTHREAD_COND_INITIALIZER): Adapt.
	* nptl/pthreadP.h (__PTHREAD_COND_CLOCK_MONOTONIC_MASK,
	__PTHREAD_COND_SHARED_MASK): New.
	* nptl/nptl-printers.py (CLOCK_IDS): Remove.
	(ConditionVariablePrinter, ConditionVariableAttributesPrinter): Adapt.
	* nptl/nptl_lock_constants.pysym: Adapt.
	* nptl/test-cond-printers.py: Adapt.
	* sysdeps/unix/sysv/linux/hppa/internaltypes.h (cond_compat_clear,
	cond_compat_check_and_clear): Adapt.
	* sysdeps/unix/sysv/linux/hppa/pthread_cond_timedwait.c: Remove file ...
	* sysdeps/unix/sysv/linux/hppa/pthread_cond_wait.c
	(__pthread_cond_timedwait): ... and move here.
	* nptl/DESIGN-condvar.txt: Remove file.
	* nptl/lowlevelcond.sym: Likewise.
	* nptl/pthread_cond_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
2016-12-31 14:56:47 +01:00
..
aarch64 Add fromfp functions. 2016-12-31 00:40:59 +00:00
alpha New condvar implementation that provides stronger ordering guarantees. 2016-12-31 14:56:47 +01:00
arm Add fromfp functions. 2016-12-31 00:40:59 +00:00
bits Include <linux/falloc.h> in bits/fcntl-linux.h. 2016-12-14 18:23:15 +00:00
generic Use shmget syscall for linux implementation 2016-12-28 20:31:05 -02:00
hppa New condvar implementation that provides stronger ordering guarantees. 2016-12-31 14:56:47 +01:00
i386 New condvar implementation that provides stronger ordering guarantees. 2016-12-31 14:56:47 +01:00
ia64 Add fromfp functions. 2016-12-31 00:40:59 +00:00
include/sys Installed header hygiene (BZ#20366): Test of installed headers. 2016-09-23 08:43:56 -04:00
m68k Add fromfp functions. 2016-12-31 00:40:59 +00:00
microblaze Add fromfp functions. 2016-12-31 00:40:59 +00:00
mips Add fromfp functions. 2016-12-31 00:40:59 +00:00
net Installed-header hygiene (BZ#20366): time.h types. 2016-09-23 08:43:56 -04:00
netash Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
netatalk Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
netax25 Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
neteconet Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
netinet Installed-header hygiene (BZ#20366): obsolete BSD u_* types. 2016-09-23 08:43:56 -04:00
netipx Installed-header hygiene (BZ#20366): obsolete BSD u_* types. 2016-09-23 08:43:56 -04:00
netiucv Add missing iucv related defines. 2016-04-27 09:08:29 +02:00
netpacket Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
netrom Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
netrose Installed-header hygiene (BZ#20366): Simple self-contained fixes. 2016-09-23 08:43:55 -04:00
nfs
nios2 Add fromfp functions. 2016-12-31 00:40:59 +00:00
powerpc New condvar implementation that provides stronger ordering guarantees. 2016-12-31 14:56:47 +01:00
s390 Add fromfp functions. 2016-12-31 00:40:59 +00:00
scsi Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sh Add fromfp functions. 2016-12-31 00:40:59 +00:00
sparc Add fromfp functions. 2016-12-31 00:40:59 +00:00
sys Installed-header hygiene (BZ#20366): time.h types. 2016-09-23 08:43:56 -04:00
tile Add fromfp functions. 2016-12-31 00:40:59 +00:00
wordsize-64 Consolidate Linux setrlimit and getrlimit implementation 2016-11-17 15:54:22 -02:00
x86 Get rid of __elision_available 2016-12-07 09:35:07 +01:00
x86_64 New condvar implementation that provides stronger ordering guarantees. 2016-12-31 14:56:47 +01:00
Implies
Makefile Consolidate lseek/lseek64/llseek implementations 2016-11-08 16:04:33 -02:00
Versions Terminate process on invalid netlink response from kernel [BZ #12926] 2015-11-09 12:48:41 +01:00
_G_config.h
_exit.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
a.out.h
accept.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
accept4.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
access.c New internal function __access_noerrno 2016-11-16 15:53:58 -02:00
adjtime.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
aio_misc.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
aio_sigqueue.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
arch-fork.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
bind.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
check_native.c network: recvmsg and sendmsg standard compliance (BZ#16919) 2016-05-25 17:39:01 -03:00
check_pf.c network: recvmsg and sendmsg standard compliance (BZ#16919) 2016-05-25 17:39:01 -03:00
clock.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
clock_getcpuclockid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
clock_getres.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
clock_gettime.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
clock_nanosleep.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
clock_settime.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
cmsg_nxthdr.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
configure Remove linux/fanotify.h configure test. 2016-02-24 18:44:10 +00:00
configure.ac Remove linux/fanotify.h configure test. 2016-02-24 18:44:10 +00:00
connect.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
createthread.c Remove cached PID/TID in clone 2016-11-24 19:38:51 -02:00
default-sched.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
device-nrs.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-brk.c
dl-execstack.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-fxstatat64.c
dl-getcwd.c
dl-librecon.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-openat64.c Assume __NR_openat is always defined 2016-03-23 23:35:08 +01:00
dl-opendir.c
dl-origin.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-osinfo.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-sbrk.c
dl-sysdep.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-sysdep.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-vdso.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-vdso.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-writev.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
epoll_pwait.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
errqueue.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
eventfd_read.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
eventfd_write.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
exit-thread.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
faccessat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fallocate.c Consolidate fallocate{64} implementations 2016-10-07 14:16:36 -03:00
fallocate64.c Consolidate fallocate{64} implementations 2016-10-07 14:16:36 -03:00
fatal-prepare.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fchmodat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fcntl.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fd_to_filename.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fexecve.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fips-private.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fpathconf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fstatfs64.c Fix for [f]statfs64/[f]statfs aliasing patch 2016-11-28 08:51:01 -08:00
fstatvfs.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fstatvfs64.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ftime.c
ftruncate.c Consolidate Linux ftruncate implementations 2016-11-09 17:46:11 -02:00
ftruncate64.c Consolidate Linux ftruncate implementations 2016-11-09 17:46:11 -02:00
futex-internal.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
futimens.c Assume __NR_utimensat is always defined 2016-03-23 23:35:08 +01:00
futimes.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
futimesat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fxstat.c Always define XSTAT_IS_XSTAT64 2016-11-21 08:23:12 -08:00
fxstat64.c Define __ASSUME_ST_INO_64_BIT on all platforms. 2016-11-07 13:26:27 -08:00
fxstatat.c Always define XSTAT_IS_XSTAT64 2016-11-21 08:23:12 -08:00
fxstatat64.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
gai_sigqueue.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getclktck.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getcwd.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getdents.c Remove __ASSUME_GETDENTS64_SYSCALL. 2016-03-22 00:32:20 +00:00
getdents64.c
getdirentries.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getdirentries64.c
getdtsz.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getentropy.c Add getentropy, getrandom, <sys/random.h> [BZ #17252] 2016-12-12 17:28:04 +01:00
gethostid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getipv4sourcefilter.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getloadavg.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getlogin.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getlogin_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getpagesize.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getpeername.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getpriority.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getpt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getrandom.c Add getentropy, getrandom, <sys/random.h> [BZ #17252] 2016-12-12 17:28:04 +01:00
getrlimit.c Consolidate Linux setrlimit and getrlimit implementation 2016-11-17 15:54:22 -02:00
getrlimit64.c Consolidate Linux setrlimit and getrlimit implementation 2016-11-17 15:54:22 -02:00
getsockname.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getsockopt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getsourcefilter.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getsysstats.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
gettimeofday.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
grantpt.c
if_index.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ifaddrs.c network: recvmsg and sendmsg standard compliance (BZ#16919) 2016-05-25 17:39:01 -03:00
ifreq.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
internal_statvfs.c This patch cleans up the strsep implementation and improves performance. 2016-12-21 15:16:29 +00:00
internal_statvfs64.c
ipc_ops.h Refactor Linux ipc_priv header 2016-12-28 20:28:56 -02:00
ipc_priv.h Refactor Linux ipc_priv header 2016-12-28 20:28:56 -02:00
kernel-features.h Add __ASSUME_DIRECT_SYSVIPC_SYSCALL for Linux 2016-12-28 20:28:56 -02:00
kernel-posix-cpu-timers.h
kernel-posix-timers.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
kernel_sigaction.h
kernel_stat.h Allow [f]statfs64 to alias [f]statfs 2016-11-22 09:59:12 -08:00
kernel_termios.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ldd-rewrite.sed
lddlibc4.c Update copyright dates not handled by scripts/update-copyrights. 2016-01-04 16:26:30 +00:00
ldsodefs.h Fix build with HAVE_AUX_VECTOR 2016-04-11 10:27:25 +02:00
libc_fatal.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
linux_fsinfo.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
listen.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
local-setxid.h
lowlevellock-futex.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
lseek.c Consolidate lseek/lseek64/llseek implementations 2016-11-08 16:04:33 -02:00
lseek64.c Consolidate lseek/lseek64/llseek implementations 2016-11-08 16:04:33 -02:00
lutimes.c Assume __NR_utimensat is always defined 2016-03-23 23:35:08 +01:00
lxstat.c Always define XSTAT_IS_XSTAT64 2016-11-21 08:23:12 -08:00
lxstat64.c Define __ASSUME_ST_INO_64_BIT on all platforms. 2016-11-07 13:26:27 -08:00
malloc-sysdep.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mmap64.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mq_close.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mq_getattr.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mq_notify.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mq_open.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mq_receive.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mq_send.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mq_unlink.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
msgctl.c Consolidate Linux msgctl implementation 2016-12-28 20:28:56 -02:00
msgget.c Use msgget syscall for Linux implementation 2016-12-28 20:28:56 -02:00
msgrcv.c Consolidate Linux msgrcv implementation 2016-12-28 20:28:56 -02:00
msgsnd.c Use msgsnd syscall for Linux implementation 2016-12-28 20:28:56 -02:00
netlink_assert_response.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
netlinkaccess.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nice.c
not-cancel.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nptl-signals.h Refactor Linux raise implementation (BZ#15368) 2016-07-13 17:08:51 +01:00
nscd_setup_thread.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ntp_gettime.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ntp_gettimex.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
open64.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
openat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
openat64.c
opendir.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
opensock.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pathconf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pathconf.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
paths.h
personality.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
posix_fadvise.c Consolidate posix_fadvise implementations 2016-10-07 14:16:41 -03:00
posix_fadvise64.c Consolidate posix_fadvise implementations 2016-10-07 14:16:41 -03:00
posix_fallocate.c Consolidate posix_fallocate{64} implementations 2016-10-07 14:16:41 -03:00
posix_fallocate64.c Consolidate posix_fallocate{64} implementations 2016-10-07 14:16:41 -03:00
posix_madvise.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ppoll.c Remove __ASSUME_PPOLL. 2016-03-15 21:11:07 +00:00
pread.c Fix Linux sh4 pread/pwrite argument passing 2016-10-24 15:26:42 -02:00
pread64.c Fix Linux sh4 pread/pwrite argument passing 2016-10-24 15:26:42 -02:00
preadv.c Remove __ASSUME_OFF_DIFF_OFF64 definition 2016-07-08 14:28:08 -03:00
preadv64.c Remove __ASSUME_OFF_DIFF_OFF64 definition 2016-07-08 14:28:08 -03:00
prlimit.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
prof-freq.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
profil.c
pselect.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pt-raise.c Refactor Linux raise implementation (BZ#15368) 2016-07-13 17:08:51 +01:00
pthread-pids.h Remove cached PID/TID in clone 2016-11-24 19:38:51 -02:00
pthread_getaffinity.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pthread_getcpuclockid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pthread_getname.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pthread_kill.c Remove cached PID/TID in clone 2016-11-24 19:38:51 -02:00
pthread_setaffinity.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pthread_setname.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pthread_sigmask.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pthread_sigqueue.c Remove cached PID/TID in clone 2016-11-24 19:38:51 -02:00
ptrace.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ptsname.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pwrite.c Fix Linux sh4 pread/pwrite argument passing 2016-10-24 15:26:42 -02:00
pwrite64.c Fix Linux sh4 pread/pwrite argument passing 2016-10-24 15:26:42 -02:00
pwritev.c Remove __ASSUME_OFF_DIFF_OFF64 definition 2016-07-08 14:28:08 -03:00
pwritev64.c Remove __ASSUME_OFF_DIFF_OFF64 definition 2016-07-08 14:28:08 -03:00
raise.c Remove cached PID/TID in clone 2016-11-24 19:38:51 -02:00
readahead.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
readdir64.c
readdir64_r.c
readonly-area.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
reboot.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
recv.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
recvfrom.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
recvmmsg.c Revert {send,sendm,recv,recvm}msg conformance changes 2016-06-10 11:58:16 -03:00
recvmsg.c Revert {send,sendm,recv,recvm}msg conformance changes 2016-06-10 11:58:16 -03:00
remove.c
rename.c Consolidate rename Linux implementation 2016-12-14 15:31:24 -02:00
renameat.c Consolidate renameat Linux implementation 2016-12-14 15:31:24 -02:00
sa_len.c
safe-fatal.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sched_getaffinity.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sched_getcpu.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sched_setaffinity.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
segfault.c
semctl.c Consolidate Linux semctl implementation 2016-12-28 20:31:04 -02:00
semget.c Use semget syscall for Linux implementation 2016-12-28 20:31:04 -02:00
semop.c Use semop syscall for Linux implementation 2016-12-28 20:31:04 -02:00
semtimedop.c Consolidate Linux semtimedop implementation 2016-12-28 20:31:04 -02:00
send.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sendmmsg.c Revert {send,sendm,recv,recvm}msg conformance changes 2016-06-10 11:58:16 -03:00
sendmsg.c Revert {send,sendm,recv,recvm}msg conformance changes 2016-06-10 11:58:16 -03:00
sendto.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
setegid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
seteuid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
setgid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
setgroups.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sethostid.c
setipv4sourcefilter.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
setregid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
setresgid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
setresuid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
setreuid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
setrlimit.c Consolidate Linux setrlimit and getrlimit implementation 2016-11-17 15:54:22 -02:00
setrlimit64.c Consolidate Linux setrlimit and getrlimit implementation 2016-11-17 15:54:22 -02:00
setsockopt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
setsourcefilter.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
setuid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
shlib-versions
shm-directory.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
shmat.c Use shmat syscall for Linux implementation 2016-12-28 20:31:05 -02:00
shmctl.c Consolidate Linux shmctl implementation 2016-12-28 20:31:05 -02:00
shmdt.c Use shmdt syscall for linux implementation 2016-12-28 20:31:05 -02:00
shmget.c Use shmget syscall for linux implementation 2016-12-28 20:31:05 -02:00
shutdown.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sigaction.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
siglist.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
signal.c
signalfd.c Remove __ASSUME_SIGNALFD4. 2016-03-21 16:30:05 +00:00
sigpending.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sigprocmask.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sigqueue.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sigreturn.c
sigset-cvt-mask.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sigstack.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sigsuspend.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sigtimedwait.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sigwait.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sigwaitinfo.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sizes.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
socket.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
socketcall.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
socketpair.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
spawni.c posix: Fix open file action for posix_spawn on Linux 2016-09-28 14:07:35 -07:00
speed.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
statfs64.c Fix for [f]statfs64/[f]statfs aliasing patch 2016-11-28 08:51:01 -08:00
statvfs.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
statvfs64.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sync_file_range.c Consolidate Linux sync_file_range implementations 2016-10-11 16:21:12 -03:00
syscalls.list Consolidate renameat Linux implementation 2016-12-14 15:31:24 -02:00
sysconf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sysctl.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sysctl.mk
sysdep-vdso.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sysdep.h Fix Linux sh4 pread/pwrite argument passing 2016-10-24 15:26:42 -02:00
syslog.c
system.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tcdrain.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tcflow.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tcflush.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tcgetattr.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tcgetpgrp.c
tcsendbrk.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tcsetattr.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tcsetpgrp.c
termio.h
time.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
timer_create.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
timer_delete.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
timer_getoverr.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
timer_gettime.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
timer_routines.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
timer_settime.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
times.c Expand comments in Linux times() implementation. 2016-06-19 15:47:00 -04:00
timespec_get.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
truncate.c Consolidate Linux truncate implementations 2016-11-09 17:46:17 -02:00
truncate64.c Consolidate Linux truncate implementations 2016-11-09 17:46:17 -02:00
tst-affinity-pid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-affinity.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-align-clone.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-clone.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-clone2.c Remove cached PID/TID in clone 2016-11-24 19:38:51 -02:00
tst-fallocate-common.c support: Introduce new subdirectory for test infrastructure 2016-12-09 08:18:27 +01:00
tst-fallocate.c Consolidate fallocate{64} implementations 2016-10-07 14:16:36 -03:00
tst-fallocate64.c Consolidate fallocate{64} implementations 2016-10-07 14:16:36 -03:00
tst-fanotify.c Remove linux/fanotify.h configure test. 2016-02-24 18:44:10 +00:00
tst-getpid1.c NPTL: Build tests using clone directly only for Linux. 2015-02-06 12:30:23 -08:00
tst-personality.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-quota.c Base <sys/quota.h> on Linux kernel headers [BZ #20525] 2016-09-01 15:53:13 +02:00
tst-setgetname.c Fix -Wformat-length warning in tst-setgetname.c 2016-10-24 09:43:54 -07:00
tst-skeleton-affinity.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-skeleton-thread-affinity.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-sync_file_range.c support: Introduce new subdirectory for test infrastructure 2016-12-09 08:18:27 +01:00
tst-thread-affinity-pthread.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-thread-affinity-pthread2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-thread-affinity-sched.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ttyname.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ttyname_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ualarm.c
umount.S
umount2.S
unlockpt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
updwtmp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ustat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
utimensat.c Assume __NR_utimensat is always defined 2016-03-23 23:35:08 +01:00
utimes.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
utmp_file.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
vfork.c
wait.c Remove union wait [BZ #19613] 2016-04-14 08:54:57 +02:00
wait3.c
waitid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
waitpid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
xmknod.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
xmknodat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
xstat.c Always define XSTAT_IS_XSTAT64 2016-11-21 08:23:12 -08:00
xstat64.c Define __ASSUME_ST_INO_64_BIT on all platforms. 2016-11-07 13:26:27 -08:00
xstatconv.c Always define XSTAT_IS_XSTAT64 2016-11-21 08:23:12 -08:00
xstatconv.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00