Re: [RFC PATCH htl v2 0/4] Rewrite THREAD_GSCOPE

2021-08-30 Thread Florian Weimer
* Sergey Bugaev: > I can think of two ways this can be handled: > > * Code can be rewritten and reorganized to use port-specific files instead of > conditional compilation. From looking at how glibc source is organized, this > appears to be the generally preferred way. I'm sending one more pat

[RFC PATCH htl v2 3/4] testrun.sh: Add support for --tool=rpctrace

2021-08-30 Thread Sergey Bugaev
rpctrace(1) is a Hurd RPC tracer tool, which is used similar to how strace(1) is used on GNU/Linux. Signed-off-by: Sergey Bugaev --- Makefile | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index f98d5a9e67..a49870d3d1 100644 --- a/Makefile +++ b/

[RFC PATCH htl v2 1/4] htl: Move thread table to ld.so

2021-08-30 Thread Sergey Bugaev
The next commit is going to introduce a new implementation of THREAD_GSCOPE_WAIT which needs to access the list of threads. Since it must be usable from the dynamic laoder, we have to move the symbols for the list of threads into the loader. Signed-off-by: Sergey Bugaev --- htl/Versions

[RFC PATCH htl v2 2/4] htl: Reimplement GSCOPE

2021-08-30 Thread Sergey Bugaev
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_GSC

[RFC PATCH htl v2 4/4] XXX: Attempt to get rid of most THREAD_GSCOPE_IN_TCB usages

2021-08-30 Thread Sergey Bugaev
Try to do this by adding HTL- and NPTL-specific versions of dl-support.c, dl-tls.c, and dl-tls_init_tp.c, and moving HTL and NPTL specifics there. The remaining user of THREAD_GSCOPE_IN_TCB is , which I'm not sure how to handle. I see that there are sysdeps versions of it, so it could be possible

[RFC PATCH htl v2 0/4] Rewrite THREAD_GSCOPE

2021-08-30 Thread Sergey Bugaev
Hello, this is a revised version of the patchset I have sent a few months ago [0]. Sending to both bug-hurd and libc-alpha this time. [0]: https://lists.gnu.org/archive/html/bug-hurd/2021-05/msg00063.html The goal is to get rid of the excessive (and redundant) gsync_wake () calls. The means are