Version 11 (modified by Saurabh Gadia, on Jun 9, 2015 at 7:11:58 AM) (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.

Setup Steps from sratch

  • Build RSB by following this link from 1.0 to 2.4 Building step(inclusive). I have used spark-sis configuration.
  • Now clone the RTEMS repository from Personal Github Link
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    (RSB tools 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. path of compiled testsuites: b-sis/sparc-rtems4.11/c/sis/testsuites/sptests


  • 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