= 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 [https://docs.rtems.org/rsb link] from 1.0 to 2.4 Building step(inclusive). I have used spark-sis configuration. * Now clone the RTEMS repository from [https://github.com/saurabhgadia4/rtems 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) ./bootstrap 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 make 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 = Progress = * 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. = Resources = * Nested Mutex related test cases [https://github.com/RTEMS/rtems/blob/master/testsuites/sptests/spsem02/init.c Test Case] * [https://github.com/saurabhgadia4/rtems Personal Github Link] * JPF Related Resources:[[BR]] [http://babelfish.arc.nasa.gov/trac/jpf/wiki/install/start Installation]