aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/sync.c
Commit message (Collapse)AuthorAge
* Cleanup sync release.Glenn Elliott2014-03-03
| | | | | | This patch cleans up the sync-release code used by GPUSync. The updated code leverage's Litmus's new per-plugin wait_for_release_at().
* 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.
* 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.
* Remove dont_requeue flagBjoern Brandenburg2014-01-13
| | | | | | The flag was a hack that never really worked. It shortened the race window, but didn't close it. With the new sporadic release support, it should now be superfluous.
* Reimplement sporadic release supportBjoern Brandenburg2014-01-13
| | | | | | | The way the synchronous release code used to set up sporadic releases is racy. This patch changes the implementation to postpone the fiddling with the ->release parameter until prepare_for_next_period(), which is called with the appropriate plugin-specific locks held.
* 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.