This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: TSX lock elision for glibc v13


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]