| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
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().
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
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.
|