public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [RFC 00/10] y2038: nptl: futex: Provide support for futex_time64
@ 2020-07-07 15:08 Lukasz Majewski
  2020-07-07 15:08 ` [RFC 01/10] doc: Fix wording and formatting in ./support/README Lukasz Majewski
                   ` (11 more replies)
  0 siblings, 12 replies; 30+ messages in thread
From: Lukasz Majewski @ 2020-07-07 15:08 UTC (permalink / raw)
  To: Joseph Myers, Paul Eggert, Adhemerval Zanella
  Cc: Alistair Francis, Arnd Bergmann, Alistair Francis, GNU C Library,
	Florian Weimer, Carlos O'Donell, Stepan Golosunov,
	Andreas Schwab, Zack Weinberg, Lukasz Majewski

Please find this early RFC for converting 'futex' syscall based code
(pthreads/nptl/sem/gai) to support 64 bit time.
When applicable the futex_time64 syscall is used.

The main purpose of this RFC is to assess if taken approach for conversion is
correct and acceptable by the glibc community.

Quesitons/issues:

1. This whole patch set shall be squashed into a single patch, otherwise, the
glibc will not build between separate commits. I've divided it to separate
patches on the purpose - to facilitate review.

2. Question about rewritting lll_* macros in lowlevel-*.h - I'm wondering if
there is maybe a better way to do it. Please pay attention to the *_4 suffix.

3. What would be the best point in the glibc release cycle to apply this patch
set as it convets the core functionality of the library?

Just after the stable release?


Lukasz Majewski (10):
  doc: Fix wording and formatting in ./support/README
  y2038: Convert timespec_* from posix-timer.h to be Y2038 safe
  y2038: Convert __lll_futex* functions to use futex_time64 when
    available
  y2038: Replace struct timespec with __timespec64 in futex-internal.h
  y2038: Convert pthread_* functions to support 64 bit time
  y2038: Convert sem_{timed|clock}wait to support 64 bit timeout
  y2038: Convert __lll_clocklock_wait function to support 64 bit time
  y2038: Convert aio_suspend to support 64 bit timeout
  y2038: Convert gai_suspend to support 64 bit timeout
  y2038: x86: Fix __lll_clocklock_elision to support 64 bit time

 nptl/lll_timedlock_wait.c                   |  6 +-
 nptl/pthreadP.h                             | 53 +++++++++++++-
 nptl/pthread_clockjoin.c                    | 22 +++++-
 nptl/pthread_cond_wait.c                    | 46 ++++++++++--
 nptl/pthread_join_common.c                  | 11 +--
 nptl/pthread_mutex_timedlock.c              | 39 +++++++---
 nptl/pthread_rwlock_clockrdlock.c           | 21 +++++-
 nptl/pthread_rwlock_clockwrlock.c           | 21 +++++-
 nptl/pthread_rwlock_common.c                |  4 +-
 nptl/pthread_rwlock_timedrdlock.c           | 21 +++++-
 nptl/pthread_rwlock_timedwrlock.c           | 21 +++++-
 nptl/pthread_timedjoin.c                    | 20 +++++-
 nptl/sem_clockwait.c                        | 21 +++++-
 nptl/sem_timedwait.c                        | 18 ++++-
 nptl/sem_waitcommon.c                       |  4 +-
 nptl/semaphoreP.h                           | 12 ++++
 resolv/gai_misc.h                           |  7 ++
 resolv/gai_suspend.c                        | 33 +++++++--
 support/README                              |  4 +-
 sysdeps/nptl/aio_misc.h                     | 11 ++-
 sysdeps/nptl/futex-internal.h               | 10 +--
 sysdeps/nptl/lowlevellock-futex.h           | 80 +++++++++++++++++++--
 sysdeps/nptl/lowlevellock.h                 |  2 +-
 sysdeps/pthread/aio_suspend.c               | 36 ++++++++--
 sysdeps/pthread/posix-timer.h               | 11 +--
 sysdeps/unix/sysv/linux/x86/elision-timed.c |  2 +-
 sysdeps/unix/sysv/linux/x86/lowlevellock.h  |  2 +-
 27 files changed, 462 insertions(+), 76 deletions(-)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2020-07-17 17:18 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-07 15:08 [RFC 00/10] y2038: nptl: futex: Provide support for futex_time64 Lukasz Majewski
2020-07-07 15:08 ` [RFC 01/10] doc: Fix wording and formatting in ./support/README Lukasz Majewski
2020-07-07 15:11   ` Florian Weimer
2020-07-07 15:08 ` [RFC 02/10] y2038: Convert timespec_* from posix-timer.h to be Y2038 safe Lukasz Majewski
2020-07-07 15:08 ` [RFC 03/10] y2038: Convert __lll_futex* functions to use futex_time64 when available Lukasz Majewski
2020-07-12 13:43   ` Lukasz Majewski
2020-07-13 21:08     ` Joseph Myers
2020-07-14  7:23       ` Lukasz Majewski
2020-07-07 15:08 ` [RFC 04/10] y2038: Replace struct timespec with __timespec64 in futex-internal.h Lukasz Majewski
2020-07-07 15:08 ` [RFC 05/10] y2038: Convert pthread_* functions to support 64 bit time Lukasz Majewski
2020-07-07 15:08 ` [RFC 06/10] y2038: Convert sem_{timed|clock}wait to support 64 bit timeout Lukasz Majewski
2020-07-07 15:08 ` [RFC 07/10] y2038: Convert __lll_clocklock_wait function to support 64 bit time Lukasz Majewski
2020-07-07 15:08 ` [RFC 08/10] y2038: Convert aio_suspend to support 64 bit timeout Lukasz Majewski
2020-07-07 15:08 ` [RFC 09/10] y2038: Convert gai_suspend " Lukasz Majewski
2020-07-07 15:08 ` [RFC 10/10] y2038: x86: Fix __lll_clocklock_elision to support 64 bit time Lukasz Majewski
2020-07-12 13:42 ` [RFC 00/10] y2038: nptl: futex: Provide support for futex_time64 Lukasz Majewski
2020-07-13 17:15 ` Adhemerval Zanella
2020-07-14  7:56   ` Lukasz Majewski
2020-07-14 15:10     ` Adhemerval Zanella
2020-07-15  8:47       ` Lukasz Majewski
2020-07-16 19:02         ` Adhemerval Zanella
2020-07-17  7:27           ` Lukasz Majewski
2020-07-17  8:11             ` Arnd Bergmann
2020-07-17 10:17               ` Lukasz Majewski
2020-07-17 15:04               ` Adhemerval Zanella
2020-07-17 16:41                 ` Lukasz Majewski
2020-07-17 17:18                 ` Joseph Myers
2020-07-17 14:32             ` Joseph Myers
2020-07-17 15:04             ` Adhemerval Zanella
2020-07-17 16:42               ` Lukasz Majewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).