Changes between Version 12 and Version 13 of GSoC/2015/NestedMutex

Jun 22, 2015, 5:53:20 AM (7 years ago)
Saurabh Gadia



  • GSoC/2015/NestedMutex

    v12 v13  
    99'''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.
    11 = Setup Steps from sratch=
     11= RTEMS Environment Setup Steps from sratch for STRICT ORDER MUTEX configuration =
    1212  * Build RSB by following this [ link] from 1.0 to 2.4 Building step(inclusive). I have used spark-sis configuration.
    1313  * Now clone the RTEMS repository from [ Personal Github Link]
    3939  * 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
     41= JPF Setup =
     42  * You can either download snapshots or build JPF from source. Building from source is recommended as they contain latest changeset and our project runs under latest compiled source code.
     43  * You can find detailed JPF installation guide at [ link]
     44  * Clone JPF latest repository. [ link]
     45  * Make sure you fulfil all the requirement mentioned on above link especially use JDK 8 or later version to compile.
     46  * If you want to check with RTEMS JPF code please clone this repository.[ link]
     47  * Set the path of jpf-core which you cloned from JPF site under JPF_HOME. export JPF_HOME=Path-To-jpf-core-Directory.
     48  * For compiling just run compile script present under cloned RTEMS lock-model repository.
     49  * For running the JPF code just run jpf script.
     50  * We are using 3 threads and 3 mutex to demonstrate the RTEMS behavior. It takes far more time to run for this test configuration. You can go ahead and modify as per requirement. After making changes compile and run it.
     51  * Till now we are able to reproduce the RTEMS locking model and have finished coding for proposed solution to resolve unbounded priority inheritance problem.
    4153= Progress =
    4254  * Proposed solution for the existing problem. You can find presentation which also contains test cases in attachment section.
    43   * Compiled RTEMS for running Strict Mutex test cases. [Setup from scratch]
    44   * Now working on configuring and setting up JPF environment.
     55  * Compiled RTEMS for running Strict Mutex test cases. [Setup from scratch]  
     56  * Working on validation of RTEMS-JPF models.
    4658= Resources =