This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Current elision proposal
- From: Andi Kleen <andi at firstfloor dot org>
- To: Andi Kleen <ak at linux dot jf dot intel dot com>
- Cc: Torvald Riegel <triegel at redhat dot com>, Rich Felker <dalias at aerifal dot cx>, Andi Kleen <andi at firstfloor dot org>, Carlos O'Donell <carlos at redhat dot com>, libc-alpha at sourceware dot org
- Date: Wed, 26 Jun 2013 21:19:58 +0200
- Subject: Current elision proposal
- References: <20130625173203 dot GL29800 at brightrain dot aerifal dot cx> <20130625204013 dot GS5643 at tassilo dot jf dot intel dot com> <1372197850 dot 964 dot 9938 dot camel at triegel dot csb> <20130626003555 dot GT5643 at tassilo dot jf dot intel dot com> <1372235629 dot 964 dot 10004 dot camel at triegel dot csb> <20130626145934 dot GU5643 at tassilo dot jf dot intel dot com> <1372260495 dot 22198 dot 149 dot camel at triegel dot csb> <20130626155130 dot GV5643 at tassilo dot jf dot intel dot com> <1372263398 dot 22198 dot 260 dot camel at triegel dot csb> <20130626173710 dot GW5643 at tassilo dot jf dot intel dot com>
After some private discussion, here's a new proposal:
- Keep the new NORMAL type, semantics as discussed earlier,
plus compat code.
- Eliminate the NO_ELISION_NP flag bits, as for TIMED they
are redundant with NORMAL. The main drawback is that we cannot
express ADAPTIVE with no elision.
So that means NORMAL now means "NOT ELIDED"
- Eliminate ELISION_NP too, instead add a new
pthread_mutexattr_setelision_np() that enables/disables elision for a
given mutex. This will be a separate patch.
This does not change anything existing, just adds a new symbol.
- (No initializers as before)
- Stop eliding ADAPTIVE, as it's apparently specified as
"shall deadlock". Add a new ADAPTIVE type longer term
that allows deadlocking longer term (i guess post 2.18)
-Andi
--
ak@linux.intel.com -- Speaking for myself only.