Kernel assisted adaptive mutexes


One Line Summary

Leveraging kernel-side knowledge of task scheduling can provide for more efficient adaptive mutexes.


Performance tuning is a careful balance of various cost-benefit trade-offs. Spinning loops are a common method used to reduce the overhead of context switching for short wait periods. Tuning these loops is notoriously tedious. The results are fragile, often only lasting through the next OS revision or even hardware upgrade. With the current focus on low-latency and real-time computing, these spinning loops present additional challenges. In the not too distant past, the Linux kernel has adopted some adaptive spinning techniques which use the additional state the kernel is aware of to make more intelligent use of the spinning loop. Kernel assisted Adaptive Mutexes make this mechanism available to user-space. We elaborate on the pros and cons of a pair of implementations and explore various workloads to identify which benefit, and which do not.


real-time, performance, realtime, locking


  • Biography

    Darren Hart has most recently been working to improve the Linux kernel’s support for highly threaded real-time applications. He has presented on Real-Time Linux benchmarking at the Ottawa Linux Symposium in 2007 as well as the Linux Foundation: End User Summit in 2008. He presented his work on futex requeue PI support at LinuxCon and the Real-Time Linux Workshop in 2009. His current area of focus is improving scalability for the Real-Time Linux kernel through intelligent kernel-assisted adaptive locking. Darren worked for IBM’s Linux Technology Center from 2004 to 2010, leading the Real-Time Linux development team since 2006.

Leave a private comment to organizers about this proposal