This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: TSX lock elision for glibc v6
- From: Andreas Jaeger <aj at suse dot com>
- To: libc-alpha at sourceware dot org
- Date: Sun, 12 May 2013 10:46:32 +0200
- Subject: Re: TSX lock elision for glibc v6
- References: <1368225725-14283-1-git-send-email-andi at firstfloor dot org>
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