]> sourceware.org Git - glibc.git/commit
htl: Reimplement GSCOPE
authorSergey Bugaev <bugaevc@gmail.com>
Wed, 15 Sep 2021 17:11:09 +0000 (20:11 +0300)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Wed, 15 Sep 2021 23:04:17 +0000 (01:04 +0200)
commited2f9aaf5e901e8561cca8d0370ff3bcb2b6482b
tree93a1647a14e192d0e8bc698d8d3e3d4f9c08d6d7
parent166bb3eac351b88191d440b0fe8d5d7b757eaed0
htl: Reimplement GSCOPE

This is a new implementation of GSCOPE which largely mirrors its NPTL
counterpart. Same as in NPTL, instead of a global flag shared between
threads, there is now a per-thread GSCOPE flag stored in each thread's
TCB. This makes entering and exiting a GSCOPE faster at the expense of
making THREAD_GSCOPE_WAIT () slower.

The largest win is the elimination of many redundant gsync_wake () RPC
calls; previously, even simplest programs would make dozens of fully
redundant gsync_wake () calls.

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Message-Id: <20210915171110.226187-3-bugaevc@gmail.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
sysdeps/htl/dl-thread_gscope_wait.c [new file with mode: 0644]
sysdeps/mach/hurd/i386/tls.h
sysdeps/mach/hurd/tls.h
This page took 0.047844 seconds and 5 git commands to generate.