You are here: Home / RTLWS 1999-2017 / RTLWS Submitted Papers / 
2024-05-03 - 15:03

Real Time Linux Workshops

1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013 - 2014 - 2015

Eleventh Real-Time Linux Workshop on September 28 to 30, in Dresden, Germany

Announcement - Hotels - Agenda - Paper Abstracts - Presentations - Registration - Abstract Submission - Xenomai User Meeting - Sponsors

Papers

Requeue PI: Making Glibc Condvars PI-Aware

Darren Hart, IBM

Glibc 2.5 and later provide some support for priority inheritance (PI), but some gaps in the pthread_cond* APIs severely cripple its utility and lead to unexpected priority inversions and unpredictable thread wake-up patterns.

By adding kernel support for proxy locking of rt-mutexes and requeueing of tasks to PI-futexes, glibc can now provide PI support across the entire spectrum of mutex and condvar APIs.  This provides for more robust POSIX threading for very complex applications in which completely avoiding a priority inversion is impractical, if not impossible. Broadcast wakeups can now be more efficient, waking threads up in priority order as the contended resource becomes available.