aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/locking.c
Commit message (Collapse)AuthorAge
* Use wait-q instead of arrays for delayed wake ups.Glenn Elliott2014-03-07
|
* Call flush_pending_wakes() prior to suspension.Glenn Elliott2014-03-07
| | | | | | | Under nested priority-ordered locking protocols with dynamic group locks, it is possible that priority inheritance can trigger the inheriting task to acquire a resource. Thus, flush any triggered wakeups prior to suspending for a lock.
* Fix compil. bug when nested locking is disabledGlenn Elliott2014-03-03
| | | | | This patch fixes a compilation bug that occurs when nested locking is disabled.
* Rename IKGLP R2DGLP.Glenn Elliott2014-03-03
| | | | | | | | The I-KGLP was a pre-publish name for the R^2DGLP locking protocol developed by B. Ward et al. ("Replica-Request Priority Donation: A Real-Time Progress Mechanism for Global Locking Protocols" presented at RTCSA 2012). This patch renames ikglp-named identifiers to r2dglp-named identifiers.
* Add more robust budget tracking/enforcement.Glenn Elliott2014-03-03
| | | | | | | | This patch adds more feature-rich budget tracking/enforcement features. Budget tracking is now controlled by a state machine. Each task can elect to use a different budget policy. Hooks are in place to implement bandwidth inheritance (BWI) and virtually exclusive resources.
* Clean up locking.cGlenn Elliott2014-03-03
| | | | Clean up formatting in locking.c
* Add auxiliary task support.Glenn Elliott2014-03-03
| | | | | | | | | | Auxiliary tasks helper threads to real-time tasks. These helper tasks may inherit the priority of the real-time task(s) in the process only if that real-time task is blocked/suspended (and it is not suspending because the job has completed). Otherwise, these threads are scheduled with a default priority greater than normal Linux threads, but lower than any other real-time task, including klmirqd threads.
* Update core locking components.Glenn Elliott2014-03-03
| | | | | | | Extends the core parts of locking protocols in Litmus. * Adds dynamic group lock interface (internal and sys calls). * Adds helper functions for waking tasks. * Adds tracing for these new features.
* Add LITMUS^RT core implementationBjoern Brandenburg2013-08-07
This patch adds the core of LITMUS^RT: - library functionality (heaps, rt_domain, prioritization, etc.) - budget enforcement logic - job management - system call backends - virtual devices (control page, etc.) - scheduler plugin API (and dummy plugin) This code compiles, but is not yet integrated with the rest of Linux.