You are here: Home / Science / RTLWS Submitted Papers / 
2019-04-20 - 06:59
Details of the Real Time Linux Foundation Working Group Project

OSADL Project: Real Time Linux Workshops

Real Time Linux Foundation Workshops since 1999

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

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.