[RFC 00/10] y2038: nptl: futex: Provide support for futex_time64

Lukasz Majewski lukma@denx.de
Sun Jul 12 13:42:18 GMT 2020


Dear Community,

> 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?

Any feedback on this RFC patch series? Comments are more than welcome.

> 
> 
> 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(-)
> 




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20200712/d4919f47/attachment.sig>


More information about the Libc-alpha mailing list