unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH glibc 0/3] Restartable Sequences enablement
@ 2020-05-01  2:14 Mathieu Desnoyers via Libc-alpha
  2020-05-01  2:14 ` [PATCH glibc 1/3] glibc: Perform rseq registration at C startup and thread creation (v19) Mathieu Desnoyers via Libc-alpha
                   ` (3 more replies)
  0 siblings, 4 replies; 33+ messages in thread
From: Mathieu Desnoyers via Libc-alpha @ 2020-05-01  2:14 UTC (permalink / raw)
  To: Florian Weimer; +Cc: libc-alpha, Joseph Myers, Mathieu Desnoyers

Hi,

Please find the rseq enablement patchset for inclusion into
glibc.

Florian, if you find the patches OK and possibly with a bit of
tweaking of the commit messages, can you please commit them
to glibc ?

Thanks for the feedback!

Mathieu

Mathieu Desnoyers (3):
  glibc: Perform rseq registration at C startup and thread creation
    (v19)
  glibc: sched_getcpu(): use rseq cpu_id TLS on Linux (v7)
  rseq registration tests (v10)

 NEWS                                          |  10 +
 elf/libc_early_init.c                         |   4 +
 manual/threads.texi                           |  66 +++-
 nptl/pthread_create.c                         |  13 +
 sysdeps/generic/rseq-internal.h               |  26 ++
 sysdeps/unix/sysv/linux/Makefile              |  11 +-
 sysdeps/unix/sysv/linux/Versions              |   1 +
 sysdeps/unix/sysv/linux/aarch64/bits/rseq.h   |  43 +++
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |   1 +
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |   1 +
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |   1 +
 sysdeps/unix/sysv/linux/arm/bits/rseq.h       |  83 +++++
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |   1 +
 sysdeps/unix/sysv/linux/bits/rseq.h           |  29 ++
 sysdeps/unix/sysv/linux/csky/libc.abilist     |   1 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |   1 +
 sysdeps/unix/sysv/linux/i386/libc.abilist     |   1 +
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |   1 +
 .../sysv/linux/m68k/coldfire/libc.abilist     |   1 +
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |   1 +
 .../sysv/linux/microblaze/be/libc.abilist     |   1 +
 .../sysv/linux/microblaze/le/libc.abilist     |   1 +
 sysdeps/unix/sysv/linux/mips/bits/rseq.h      |  62 ++++
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |   1 +
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |   1 +
 .../sysv/linux/mips/mips64/n32/libc.abilist   |   1 +
 .../sysv/linux/mips/mips64/n64/libc.abilist   |   1 +
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |   1 +
 sysdeps/unix/sysv/linux/powerpc/bits/rseq.h   |  37 ++
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |   1 +
 .../powerpc/powerpc32/nofpu/libc.abilist      |   1 +
 .../linux/powerpc/powerpc64/be/libc.abilist   |   1 +
 .../linux/powerpc/powerpc64/le/libc.abilist   |   1 +
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |   1 +
 sysdeps/unix/sysv/linux/rseq-internal.h       |  73 ++++
 sysdeps/unix/sysv/linux/rseq-sym.c            |  26 ++
 sysdeps/unix/sysv/linux/s390/bits/rseq.h      |  37 ++
 .../unix/sysv/linux/s390/s390-32/libc.abilist |   1 +
 .../unix/sysv/linux/s390/s390-64/libc.abilist |   1 +
 sysdeps/unix/sysv/linux/sched_getcpu.c        |  27 +-
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |   1 +
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |   1 +
 .../sysv/linux/sparc/sparc32/libc.abilist     |   1 +
 .../sysv/linux/sparc/sparc64/libc.abilist     |   1 +
 sysdeps/unix/sysv/linux/sys/rseq.h            | 207 +++++++++++
 sysdeps/unix/sysv/linux/tst-rseq-nptl.c       | 338 ++++++++++++++++++
 sysdeps/unix/sysv/linux/tst-rseq.c            | 108 ++++++
 sysdeps/unix/sysv/linux/x86/bits/rseq.h       |  30 ++
 .../unix/sysv/linux/x86_64/64/libc.abilist    |   1 +
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |   1 +
 50 files changed, 1253 insertions(+), 8 deletions(-)
 create mode 100644 sysdeps/generic/rseq-internal.h
 create mode 100644 sysdeps/unix/sysv/linux/aarch64/bits/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/arm/bits/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/bits/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/mips/bits/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/powerpc/bits/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/rseq-internal.h
 create mode 100644 sysdeps/unix/sysv/linux/rseq-sym.c
 create mode 100644 sysdeps/unix/sysv/linux/s390/bits/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/sys/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/tst-rseq-nptl.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-rseq.c
 create mode 100644 sysdeps/unix/sysv/linux/x86/bits/rseq.h

-- 
2.17.1


^ permalink raw reply	[flat|nested] 33+ messages in thread
* [PATCH glibc 0/3] Restartable Sequences enablement
@ 2020-05-27 18:51 Mathieu Desnoyers via Libc-alpha
  2020-06-03 12:07 ` Florian Weimer via Libc-alpha
  0 siblings, 1 reply; 33+ messages in thread
From: Mathieu Desnoyers via Libc-alpha @ 2020-05-27 18:51 UTC (permalink / raw)
  To: Florian Weimer; +Cc: libc-alpha, Joseph Myers, Mathieu Desnoyers

Hi,

Please find the rseq enablement patchset for inclusion into
glibc.

I took care of the last round of feedback from Florian, and
rebased the series on glibc's master branch. I also noticed a
few tabs that were still present in some header files, and changed
those for spaces to align better with glibc's coding style.

Florian, if you find the patches OK and possibly with a bit of
tweaking of the commit messages, can you please commit them
to glibc ?

Thanks!

Mathieu

Mathieu Desnoyers (3):
  glibc: Perform rseq registration at C startup and thread creation
    (v20)
  Linux: Use rseq in sched_getcpu if available (v9)
  rseq registration tests (v11)

 NEWS                                          |  10 +
 elf/libc_early_init.c                         |   4 +
 manual/threads.texi                           |  63 +++++
 nptl/pthread_create.c                         |  13 +
 sysdeps/generic/rseq-internal.h               |  26 ++
 sysdeps/unix/sysv/linux/Makefile              |  15 +-
 sysdeps/unix/sysv/linux/Versions              |   1 +
 sysdeps/unix/sysv/linux/aarch64/bits/rseq.h   |  43 +++
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |   1 +
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |   1 +
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |   1 +
 sysdeps/unix/sysv/linux/arm/bits/rseq.h       |  83 ++++++
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |   1 +
 sysdeps/unix/sysv/linux/bits/rseq.h           |  29 ++
 sysdeps/unix/sysv/linux/csky/libc.abilist     |   1 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |   1 +
 sysdeps/unix/sysv/linux/i386/libc.abilist     |   1 +
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |   1 +
 .../sysv/linux/m68k/coldfire/libc.abilist     |   1 +
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |   1 +
 .../sysv/linux/microblaze/be/libc.abilist     |   1 +
 .../sysv/linux/microblaze/le/libc.abilist     |   1 +
 sysdeps/unix/sysv/linux/mips/bits/rseq.h      |  62 +++++
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |   1 +
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |   1 +
 .../sysv/linux/mips/mips64/n32/libc.abilist   |   1 +
 .../sysv/linux/mips/mips64/n64/libc.abilist   |   1 +
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |   1 +
 sysdeps/unix/sysv/linux/powerpc/bits/rseq.h   |  37 +++
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |   1 +
 .../powerpc/powerpc32/nofpu/libc.abilist      |   1 +
 .../linux/powerpc/powerpc64/be/libc.abilist   |   1 +
 .../linux/powerpc/powerpc64/le/libc.abilist   |   1 +
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |   1 +
 sysdeps/unix/sysv/linux/rseq-internal.h       |  73 +++++
 sysdeps/unix/sysv/linux/rseq-sym.c            |  26 ++
 sysdeps/unix/sysv/linux/s390/bits/rseq.h      |  37 +++
 .../unix/sysv/linux/s390/s390-32/libc.abilist |   1 +
 .../unix/sysv/linux/s390/s390-64/libc.abilist |   1 +
 sysdeps/unix/sysv/linux/sched_getcpu.c        |  22 +-
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |   1 +
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |   1 +
 .../sysv/linux/sparc/sparc32/libc.abilist     |   1 +
 .../sysv/linux/sparc/sparc64/libc.abilist     |   1 +
 sysdeps/unix/sysv/linux/sys/rseq.h            | 228 ++++++++++++++++
 sysdeps/unix/sysv/linux/tst-rseq-nptl.c       | 256 ++++++++++++++++++
 sysdeps/unix/sysv/linux/tst-rseq.c            |  64 +++++
 sysdeps/unix/sysv/linux/tst-rseq.h            |  59 ++++
 sysdeps/unix/sysv/linux/x86/bits/rseq.h       |  30 ++
 .../unix/sysv/linux/x86_64/64/libc.abilist    |   1 +
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |   1 +
 51 files changed, 1206 insertions(+), 5 deletions(-)
 create mode 100644 sysdeps/generic/rseq-internal.h
 create mode 100644 sysdeps/unix/sysv/linux/aarch64/bits/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/arm/bits/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/bits/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/mips/bits/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/powerpc/bits/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/rseq-internal.h
 create mode 100644 sysdeps/unix/sysv/linux/rseq-sym.c
 create mode 100644 sysdeps/unix/sysv/linux/s390/bits/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/sys/rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/tst-rseq-nptl.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-rseq.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-rseq.h
 create mode 100644 sysdeps/unix/sysv/linux/x86/bits/rseq.h

-- 
2.17.1


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

end of thread, other threads:[~2020-06-05 17:04 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-01  2:14 [PATCH glibc 0/3] Restartable Sequences enablement Mathieu Desnoyers via Libc-alpha
2020-05-01  2:14 ` [PATCH glibc 1/3] glibc: Perform rseq registration at C startup and thread creation (v19) Mathieu Desnoyers via Libc-alpha
2020-05-20 11:40   ` Florian Weimer via Libc-alpha
2020-05-25 14:51     ` Mathieu Desnoyers via Libc-alpha
2020-05-25 15:20       ` Florian Weimer via Libc-alpha
2020-05-25 17:36         ` Mathieu Desnoyers via Libc-alpha
2020-05-26 12:41           ` Florian Weimer via Libc-alpha
2020-05-26 14:32             ` Mathieu Desnoyers via Libc-alpha
2020-05-26 14:38               ` Florian Weimer via Libc-alpha
2020-05-26 14:53                 ` Mathieu Desnoyers via Libc-alpha
2020-05-26 14:57                   ` Florian Weimer via Libc-alpha
2020-05-26 15:22                     ` Mathieu Desnoyers via Libc-alpha
2020-05-01  2:14 ` [PATCH glibc 2/3] glibc: sched_getcpu(): use rseq cpu_id TLS on Linux (v7) Mathieu Desnoyers via Libc-alpha
2020-05-20 10:14   ` Florian Weimer via Libc-alpha
2020-05-01  2:14 ` [PATCH glibc 3/3] rseq registration tests (v10) Mathieu Desnoyers via Libc-alpha
2020-05-20 10:52   ` Florian Weimer via Libc-alpha
2020-05-25 17:07     ` Mathieu Desnoyers via Libc-alpha
2020-05-26 12:47       ` Florian Weimer via Libc-alpha
2020-05-26 14:43         ` Mathieu Desnoyers via Libc-alpha
2020-05-27 15:05           ` Mathieu Desnoyers via Libc-alpha
2020-05-27 15:12           ` Florian Weimer via Libc-alpha
2020-05-27 15:17             ` Mathieu Desnoyers via Libc-alpha
2020-05-27 15:21               ` Florian Weimer via Libc-alpha
2020-05-27 15:30                 ` Mathieu Desnoyers via Libc-alpha
2020-05-20 11:44 ` [PATCH glibc 0/3] Restartable Sequences enablement Florian Weimer via Libc-alpha
2020-05-25 13:52   ` Mathieu Desnoyers via Libc-alpha
2020-05-25 14:28     ` Florian Weimer via Libc-alpha
  -- strict thread matches above, loose matches on Subject: below --
2020-05-27 18:51 Mathieu Desnoyers via Libc-alpha
2020-06-03 12:07 ` Florian Weimer via Libc-alpha
2020-06-03 12:27   ` Mathieu Desnoyers via Libc-alpha
2020-06-03 12:33     ` Florian Weimer via Libc-alpha
2020-06-03 13:40   ` Florian Weimer via Libc-alpha
2020-06-05 17:04     ` Mathieu Desnoyers via Libc-alpha

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