This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: TSX lock elision for glibc v13
- From: Andi Kleen <andi at firstfloor dot org>
- To: Carlos O'Donell <carlos at redhat dot com>
- Cc: Andi Kleen <andi at firstfloor dot org>, libc-alpha at sourceware dot org, Torvald Riegel <triegel at redhat dot com>
- Date: Tue, 25 Jun 2013 06:11:45 +0200
- Subject: Re: TSX lock elision for glibc v13
- References: <1372098290-29147-1-git-send-email-andi at firstfloor dot org> <51C9141E dot 4080802 at redhat dot com>
On Mon, Jun 24, 2013 at 11:53:02PM -0400, Carlos O'Donell wrote:
> On 06/24/2013 02:24 PM, Andi Kleen wrote:
> > All open issues addressed. Some minor fast path optimizations.
> > Should be ready for merging now.
>
> We really need to split this up into two different pieces.
>
> * Easy to merge changes that have no ABI/API.
You mean no header changes?
If you mean somehow implementing only half of elision, that is
impossible. Elision is defined by the CPU and it either happens
or or it doesn't happen, and when it happens it has elision semantics.
I cannot split it up.
I assume you mean header changes.
>
> * Changes that make ABI/API changes that we will review
> more thorougly.
AFAIK all the ABI changes (that is header changes)
are already in separate patches. Except for the the latest
incrementals.
Patches changing the headers.
e6ab78a Add a configure option to enable lock elision and disable by default
no header change
a16a360 Add manual for lock elision
no header change
164208b Fix tst-mutexpi8
no header change
d473c1a Extend the test suite for TSX and add some new tests to test elision
no header change
56be976 Add lock elision to rwlocks
main implementation of elision for rwlock, no header changes
60a4216 Only allow to enable/disable elision for a mutex when the CPU supports it
no header changes, but i
478a306 Disable elision for PTHREAD_MUTEX_NORMAL mutexes
3851f89 Support setting elision in pthread_mutexattr_settype
interface changes
1cac2aa Add elision to pthread_mutex_{try,timed,un,}lock
Bulk of implementation, no new interface
c8620b0 Add external interface changes: new lock types for pthread_mutex_t
main file with header/api changes
5edb6fa Add the low level infrastructure for pthreads lock elision with TSX
low level code, no header changes
-Andi