[cgl_discussion] POC 6/5 Meeting Minutes

Fleischer, Julie N julie.n.fleischer at intel.com
Tue Jun 10 16:00:19 PDT 2003


> AR Julie to do gap analysis on Security for priority 1 requirements.
This analysis is now in the PoC project list that Rusty put on-line (http://www.osdl.org/docs/poc_cgl_20_priority_1_solutions.xls).

> AR Julie to deliver text for priority inheritance and robust mutexes.
Below.  Note:  I added Thread Priority Protection as another item to push into the 2.7 kernel.

Thread Priority Inheritance
===========================
Description:  Thread priority inheritance refers to increasing the priority of a thread using a resource to the highest priority of the threads waiting on the resource.  It is useful in real-time systems where getting access to resources in a timely manner is critical, and it helps make gaining this access a more predictable process.  NEPs have asked for this feature in 2.7 for porting Solaris applications to Linux.  In addition, it is one piece of a real-time, POSIX-compliant Linux kernel.

Notes:  This feature has been submitted to LKML, but there is not enough community support of the benefits of this feature yet.  Developers received feedback that it won't be integrated unless there are user-space applications that need it.  NPTL won't integrate until the kernel level code is integrated.

Current Implementations:
- Intel engineers are currently working on a kernel and NPTL patch to implement priority inheritance.  A prototype will soon be posted on OSDL.
- SSThreads - http://ssthreads.sourceforge.net/ (GPL) implements thread priority inheritance.  It is currently not POSIX-compliant, but has plans to become POSIX-compliant.

Thread Priority Protection
==========================
Description:  Thread priority protection refers to increasing the priority of a thread using a resource to the highest priority of all threads that could access the resource.  It is useful in systems which use thread priority inheritance as it offers an alternative with slightly more predictability.  It is another piece of a real-time, POSIX-compliant Linux kernel.

Notes:  This feature has been submitted to LKML, but there is not enough community support of the benefits of this feature yet.  Developers received feedback that it won't be integrated unless there are user-space applications that need it.  NPTL won't integrate until the kernel level code is integrated.

Current Implementations:
- Intel engineers are currently working on a kernel and NPTL patch to implement priority protection.  A prototype will soon be posted on OSDL.

Robust Mutexes
==============
Description:  Robust mutexes provide protection against the situation where a process that is holding a resource exits abnormally.  Robust mutexes allow subsequent processes waiting on that resource to have the opportunity to fix any data structure problems and use the resource.  It is a key piece of a highly available system as, without robust mutexes, the other processes can wait indefinitely on a resource, with the workarounds being more time-consuming timeouts or heartbeats.

Notes:  This feature has been submitted to LKML (part of the thread priority inheritance/protection patch), but there is not enough community support of the benefits of this feature yet.  Developers received feedback that it won't be integrated unless there are user-space applications that need it.  NPTL won't integrate until the kernel level code is integrated.

Current Implementations:
- Intel engineers are currently working on a kernel and NPTL patch to implement robust mutexes (part of the thread priority inheritance/protection solution).  A prototype will soon be posted on OSDL.
- Robust mutexes are implemented in NGPT http://www-124.ibm.com/pthreads/, but this is believed to only be on threads within a process.

**These views are not necessarily those of my employer.**




More information about the cgl_discussion mailing list