public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug nptl/11588] New: pthread condvars are not priority inheritance aware
@ 2010-05-11 18:46 dvhltc at us dot ibm dot com
  2010-05-11 18:48 ` [Bug nptl/11588] " dvhltc at us dot ibm dot com
                   ` (17 more replies)
  0 siblings, 18 replies; 64+ messages in thread
From: dvhltc at us dot ibm dot com @ 2010-05-11 18:46 UTC (permalink / raw)
  To: glibc-bugs

When using a PTHREAD_PRIO_INHERIT mutex with a condvar, the pthread_cond* calls 
can still cause an unbounded priority inversion via the internal condvar lock. 
The POSIX specification doesn't provide a mechanism to specify the protocol of 
the condvar. We would like to do this at runtime, but unfortunately it is legal 
to call pthread_cond_signal() or pthread_cond_broadcast() without first waiting 
on the lock, so the mutex type may not be known the first time the condvar is 
used. A new API, pthread_condattr_setprotocol_np() and 
pthread_condattr_getprotocol_np(), would allow the user to create a 
PTHREAD_PRIO_INHERIT condvar. This would use a PTHREAD_PRIO_INHERIT mutex for 
the internal condvar lock, eliminating the potential for hitting an unbounded 
priority inversion on that lock.

This topic was initially discussed here:
http://sources.redhat.com/ml/libc-alpha/2010-01/msg00011.html

And again here:
http://sources.redhat.com/ml/libc-alpha/2010-02/msg00089.html

Test cases and patches for evaluation will be attached.

-- 
           Summary: pthread condvars are not priority inheritance aware
           Product: glibc
           Version: 2.12
            Status: NEW
          Severity: normal
          Priority: P2
         Component: nptl
        AssignedTo: drepper at redhat dot com
        ReportedBy: dvhltc at us dot ibm dot com
                CC: dvhltc at us dot ibm dot com,glibc-bugs at sources dot
                    redhat dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=11588

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 64+ messages in thread
[parent not found: <bug-11588-131@http.sourceware.org/bugzilla/>]

end of thread, other threads:[~2021-10-21 15:42 UTC | newest]

Thread overview: 64+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-05-11 18:46 [Bug nptl/11588] New: pthread condvars are not priority inheritance aware dvhltc at us dot ibm dot com
2010-05-11 18:48 ` [Bug nptl/11588] " dvhltc at us dot ibm dot com
2010-05-11 18:50 ` dvhltc at us dot ibm dot com
2010-05-11 18:51 ` dvhltc at us dot ibm dot com
2010-05-11 18:56 ` dvhltc at us dot ibm dot com
2010-05-12  5:02 ` dino at in dot ibm dot com
2010-05-12 11:06 ` pasky at suse dot cz
2010-05-13  1:55 ` dvhltc at us dot ibm dot com
2010-05-13  8:03 ` dvhltc at us dot ibm dot com
2010-05-13  8:05 ` dvhltc at us dot ibm dot com
2010-05-13  8:07 ` dvhltc at us dot ibm dot com
2010-05-13  8:08 ` dvhltc at us dot ibm dot com
2010-05-13  8:11 ` dvhltc at us dot ibm dot com
2010-05-13  8:13 ` dvhltc at us dot ibm dot com
2010-05-13 18:45 ` dvhltc at us dot ibm dot com
2010-05-27 23:19 ` dvhltc at us dot ibm dot com
2010-05-28 20:35 ` dvhltc at us dot ibm dot com
2010-06-17 20:59 ` dvhltc at us dot ibm dot com
2010-06-17 22:17 ` tglx at linutronix dot de
     [not found] <bug-11588-131@http.sourceware.org/bugzilla/>
2011-02-14 17:28 ` jan.kiszka at siemens dot com
2012-06-05 16:31 ` dvhart at linux dot intel.com
2012-06-05 16:37 ` jan.kiszka at siemens dot com
2012-10-25 11:03 ` triegel at redhat dot com
2012-12-19 10:51 ` schwab@linux-m68k.org
2013-01-19 16:13 ` scot4spam at yahoo dot com
2013-04-05 17:54 ` davidh at realtimeint dot com
2013-04-06  9:15 ` stano at meduna dot org
2013-10-17 21:16 ` gratian.crisan at ni dot com
2013-10-17 21:18 ` gratian.crisan at ni dot com
2013-10-17 21:22 ` gratian.crisan at ni dot com
2013-10-17 21:24 ` gratian.crisan at ni dot com
2013-11-15 17:36 ` gratian.crisan at ni dot com
2014-02-08  0:47 ` davidh at realtimeint dot com
2014-02-08  0:58 ` allan at archlinux dot org
2014-02-08  1:06 ` joseph at codesourcery dot com
2014-02-08  1:20 ` triegel at redhat dot com
2014-02-08  3:52 ` gratian.crisan at ni dot com
2014-02-10 23:00 ` darren.hart at intel dot com
2014-02-11  2:32 ` triegel at redhat dot com
2014-02-16 16:56 ` jackie.rosen at hushmail dot com
2014-02-20 17:44 ` john.ogness at linutronix dot de
2014-02-20 18:41 ` darren.hart at intel dot com
2014-02-20 18:42 ` darren.hart at intel dot com
2014-02-20 19:22 ` gratian.crisan at ni dot com
2014-02-21  8:44 ` john.ogness at linutronix dot de
2014-02-26 17:11 ` gratian.crisan at ni dot com
2014-03-31 19:31 ` darren.hart at intel dot com
2014-04-17 14:53 ` gratian.crisan at ni dot com
2014-04-17 15:15 ` darren.hart at intel dot com
2014-04-30 19:53 ` gratian.crisan at ni dot com
2014-05-28 19:42 ` schwab at sourceware dot org
2014-06-30 18:06 ` fweimer at redhat dot com
2014-07-07 20:39 ` gratian.crisan at ni dot com
2014-07-07 20:40 ` gratian.crisan at ni dot com
2014-07-07 20:41 ` gratian.crisan at ni dot com
2014-07-07 20:43 ` gratian.crisan at ni dot com
2014-07-07 20:44 ` gratian.crisan at ni dot com
2014-07-07 20:45 ` gratian.crisan at ni dot com
2014-10-02 21:57 ` davidh at realtimeint dot com
2014-10-06  7:57 ` triegel at redhat dot com
2020-07-06 14:05 ` carlos at redhat dot com
2021-08-23 13:32 ` will at eccles dot dev
2021-09-18 18:55 ` laurettastokes89 at gmail dot com
2021-10-21 15:42 ` fweimer at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).