Next Steps

  • Write a spec? How to move to convergence rather than co-existence.
  • Quantify RT overhead. Could leverage some of the work that Inaky has done.
  • Determine Ingos plans. Probably the best way to do this is through code.
  • Determine the best way to enable/configure RT.
  • Detail and quantify the shortcomings of the futex interface.
  • Topic at kernel summit??

Kernel Mutex Solutions and Drawbacks

The solutions presented are the obvious first steps to disseminating the problem. They do not constitute fully fleshed-out solution proposals.

A. Use RT Mutex in all Preemption Modes

  • Creates conflict with legacy system semaphore implementation
  • User space mutex development is possible logical next step for RT mutex

B. Use Robust Mutex Kernel Implementation in Non-RT configuration

  • Uses RT mutex in RT mode
  • Changes behavior in RT configuration
  • Redundancy

C. Make Existing Projects Cooperate

  • Modify low-level scheduling code of both to make them interact correctly.
  • Cross-domain priority inheritance awareness changes are needed. Implement PI-awareness between FUSYN and RT mutex.
  • Changes behavior in RT configuration
  • Redundancy

User Space Mutex Solutions and Drawbacks

I. User Space Extension to RT Mutex
Prerequisite: (A) Use RT Mutex in all Preemption Modes

  • New Library Support
  • New System Call Support
  • New Binary Compatibility
  • New test development
II. Use Robust Mutex Userspace Implementation
Prerequisite: (A, B, or C)
  • Fusyn is a Mature Implementation with foothold in the userspace community.
  • FUSYN kernel portion likely obsoleted by RT implementation.
  • FUSYN UserSpace implementation reusable.
  • No Binary Compatibility issues for Fusyn Users
  • Tests can be reused
Brought to you by the Open Source Development Labs