Version 6 (modified by Saurabh Gadia, on Jun 5, 2015 at 11:43:58 PM) (diff)


Nested Mutex

Mentors: Daniel Ramirez, Cyrille Artho, Joel Sherrill, Gedare Bloom, Chris Johns

Participant: Saurabh Gadia

Status: Currently working on configuring and designing the nested mutex validation model in JPF environment for proposed solution.

Introduction: The strict order mutexes in RTEMS is based on LIFO ordering. So whenever thread tries to acquire mutex lock, its priority before acquiring the lock is pushed to that mutex’s thread queue. So whenever thread release any lock then that lock’s queue is consulted and thread’s priority is restored. So this mechanism of restoring priority may induce unbounded priority inversion if higher priority thread is contending for a lock still hold by our candidate thread. This project deals with solving this problem and developing validation methods using JPF.

Configuration Setup Steps

sudo apt-get install pax    (you require it for compiling libtests from testsuite) This step should be performed before bootstraping.

cd rtems

export PATH=/opt/rtems/4.11/bin:$PATH

export PATH=~/devlopment/rtems/4.11/bin:$PATH


cd ..

mkdir b-sis

cd b-sis

../rtems/configure --target=sparc-rtems4.11 --enable-rtemsbsp=sis --enable-tests --disable-posix ENABLE_STRICT_ORDER_MUTEX=1


sudo PATH=/opt/rtems/4.11/bin:${PATH} make install
  • Above steps if performed correctly will compile your RTEMS code and you can go ahead with your test suites.


  • Proposed solution for the existing problem. You can find presentation which also contains test cases in attachment section.
  • Compiled RTEMS for running Strict Mutex test cases. [Setup from scratch]
  • Now working on configuring and setting up JPF environment.


Attachments (1)

Download all attachments as: .zip