glibc/sysdeps
Adhemerval Zanella 215078017f nptl: Replace non cancellable pause/nanosleep with futex
To help y2038 work avoid duplicate all the logic of nanosleep on
non cancellable version, the patch replace it with a new futex
operation, lll_timedwait.  The changes are:

  - Add a expected value for __lll_clocklock_wait, so it can be used
    to wait for generic values.

  - Remove its internal atomic operation and move the logic to
    __lll_clocklock.  It makes __lll_clocklock_wait even more generic
    and __lll_clocklock slight faster on fast-path (since it won't
    require a function call anymore).

  - Add lll_timedwait, which uses __lll_clocklock_wait, to replace both
    __pause_nocancel and __nanosleep_nocancel.

It also allows remove the sparc32 __lll_clocklock_wait implementation
(since it is similar to the generic one).

Checked on x86_64-linux-gnu, sparcv9-linux-gnu, and i686-linux-gnu.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2019-10-31 11:09:01 -03:00
..
aarch64 Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
alpha Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
arm Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
csky Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
generic Use clock_gettime to implement time. 2019-10-30 17:05:14 -03:00
gnu Add TCP_TX_DELAY from Linux 5.3 to netinet/tcp.h. 2019-09-27 13:37:36 +00:00
hppa Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
htl time: Introduce function to check correctness of nanoseconds value 2019-10-27 21:49:25 +01:00
hurd Prefer https to http for gnu.org and fsf.org URLs 2019-09-07 02:43:31 -07:00
i386 Prefer https to http for gnu.org and fsf.org URLs 2019-09-07 02:43:31 -07:00
ia64 Remove math-finite.h 2019-10-21 08:47:07 -03:00
ieee754 Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
init_array Prefer https to http for gnu.org and fsf.org URLs 2019-09-07 02:43:31 -07:00
m68k Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
mach Use clock_gettime to implement gettimeofday. 2019-10-30 17:11:10 -03:00
microblaze Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
mips Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
nios2 Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
nptl nptl: Replace non cancellable pause/nanosleep with futex 2019-10-31 11:09:01 -03:00
posix Use clock_gettime to implement gettimeofday. 2019-10-30 17:11:10 -03:00
powerpc [powerpc] No need to enter "Ignore Exceptions Mode" 2019-10-02 10:30:51 -05:00
pthread Change most internal uses of __gettimeofday to __clock_gettime. 2019-10-30 17:04:10 -03:00
riscv Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
s390 S390: Add new s390 platform z15. 2019-10-18 14:57:14 +02:00
sh Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
sparc nptl: Replace non cancellable pause/nanosleep with futex 2019-10-31 11:09:01 -03:00
unix nptl: Replace non cancellable pause/nanosleep with futex 2019-10-31 11:09:01 -03:00
wordsize-32 Prefer https to http for gnu.org and fsf.org URLs 2019-09-07 02:43:31 -07:00
wordsize-64 Prefer https to http for gnu.org and fsf.org URLs 2019-09-07 02:43:31 -07:00
x86 elf: Use nocancel pread64() instead of lseek()+read() 2019-10-18 15:55:33 -04:00
x86_64 Remove x64 _finite tests and references 2019-10-21 14:29:12 -03:00