[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALCETrWG4j7R7jzuoPW6ifYVzwuQGMEHBp7Pb_k66_2hn1wUHg@mail.gmail.com>
Date: Fri, 2 Nov 2018 08:20:18 -0700
From: Andy Lutomirski <luto@...capital.net>
To: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
Cc: libc-alpha <libc-alpha@...rceware.org>,
"Carlos O'Donell" <carlos@...hat.com>,
Florian Weimer <fweimer@...hat.com>,
"Joseph S. Myers" <joseph@...esourcery.com>, szabolcs.nagy@....com,
Thomas Gleixner <tglx@...utronix.de>,
Ben Maurer <bmaurer@...com>,
Peter Zijlstra <peterz@...radead.org>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Boqun Feng <boqun.feng@...il.com>,
Will Deacon <will.deacon@....com>,
Dave Watson <davejwatson@...com>, Paul Turner <pjt@...gle.com>,
LKML <linux-kernel@...r.kernel.org>,
Linux API <linux-api@...r.kernel.org>
Subject: Re: [RFC PATCH 1/2] glibc: Perform rseq(2) registration at nptl init
and thread creation (v3)
On Fri, Nov 2, 2018 at 4:53 AM Mathieu Desnoyers
<mathieu.desnoyers@...icios.com> wrote:
>
> Here is a third round of prototype registering rseq(2) TLS for each
> thread (including main), and unregistering for each thread (excluding
> main). "rseq" stands for Restartable Sequences.
>
> Remaining open questions:
>
> - How early do we want to register rseq and how late do we want to
> unregister it ? It's important to consider if we expect rseq to
> be used by the memory allocator and within destructor callbacks.
> However, we want to be sure the TLS (__thread) area is properly
> allocated across its entire use by rseq.
>
> - We do not need an atomic increment/decrement for the refcount per
> se. Just being atomic with respect to the current thread (and nested
> signals) would be enough. What is the proper API to use there ?
>
> See the rseq(2) man page proposed here:
> https://lkml.org/lkml/2018/9/19/647
>
Merely having rseq registered carries some small but nonzero overhead,
right? Should this perhaps live in a librseq.so or similar (possibly
built as part of libc) to avoid the overhead for programs that don't
use it?
Powered by blists - more mailing lists