public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/2] New pthread rwlock that is more scalable.
@ 2016-07-27 21:43 Torvald Riegel
  2016-07-27 21:44 ` [PATCH 1/2] Add atomic_exchange_relaxed Torvald Riegel
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Torvald Riegel @ 2016-07-27 21:43 UTC (permalink / raw)
  To: GLIBC Devel

This reimplements the POSIX Threads reader--writer lock in a way that
will make it more scalable.  In particular, the state changes of an
rwlock are not serialized through a critical section anymore but use
atomic operations (in the fast paths, just one atomic read-modify-write
is needed per lock acquisition or lock release).

I have not actually done performance testing; my focus so far was one
ensuring correctness of a new algorithm for which I'm confident that it
will scale better and will have comparable or less overheads in the
uncontended case.

Patch 1/2 adds an additional atomic operation we need.
Patch 2/2 is the rwlock rewrite.

Tested on x86_64-linux using the glibc tests.

We intend to do further testing in Rawhide.  Reviews before that testing
concludes are nonetheless appreciated :)

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

end of thread, other threads:[~2017-01-10 11:02 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-27 21:43 [PATCH 0/2] New pthread rwlock that is more scalable Torvald Riegel
2016-07-27 21:44 ` [PATCH 1/2] Add atomic_exchange_relaxed Torvald Riegel
2016-08-03 11:01   ` Florian Weimer
2016-07-27 23:47 ` [PATCH 2/2] New pthread rwlock that is more scalable Torvald Riegel
2016-07-28  1:55   ` Joseph Myers
2016-12-23 20:36   ` Torvald Riegel
2017-01-10  6:36     ` Carlos O'Donell
2017-01-10 11:02       ` Torvald Riegel
2016-12-31 17:19   ` Torvald Riegel
2017-01-02 19:26   ` Torvald Riegel
2017-01-10  8:45     ` Carlos O'Donell
2016-10-18 14:27 ` [PATCH v2] " Torvald Riegel
2017-01-10  8:44   ` Carlos O'Donell

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