TSX lock elision for glibc v6

Andreas Jaeger aj@suse.com
Sun May 12 08:46:00 GMT 2013


On 05/11/2013 12:41 AM, Andi Kleen wrote:
 > [...]
> Limitations that may be fixable (but it's unclear if it's worth it):
> -------------------------------------------------------------------
> - Adaptive enabled mutexes don't track the owner, so pthread_mutex_destroy
> will not detect a busy mutex.
> - Unlocking an unlocked mutex will result in a crash currently
> (see above)

The above two issues are a bit of concern to me since we might break 
working - but still buggy - programs. So, this is a quality of 
implementation issue. Are these limitations ok for us to use? What 
options are there to keep these applications running?
Will the above only happen on TSX enabled systems?

The limitations below are all performance related AFAIU, so shouldn't be 
a problem. Correct?

> - No elision support for recursive, error check mutexes
> Recursive may be possible, error check is unlikely


> - Some obscure cases can also fallback to non elision
> - Internal locks in glibc (like malloc or stdio) do not elide at this
>    point.

Andreas
-- 
  Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
   SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
    GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
     GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126



More information about the Libc-alpha mailing list