diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2013-04-04 17:31:30 -0400 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2013-04-04 17:37:06 -0400 |
commit | b379666c96805563ca61ddfbb38f0ec9809edf05 (patch) | |
tree | 6f0b64b1aa70b76e4db0e6786629b985a61dbefe /firmware | |
parent | 3324865fc5792b9d755d46cafa42c74b5037bba5 (diff) |
Proper sobliv draining and many bug fixes.wip-2012.3-gpu-sobliv-budget-w-kshark
Proper sobliv draining: Always and only drain budget
from a task if its BASE priority is among the top
m processors in the cluster. This required some
work with timers and tracking of consumed budget
while a task is suspended (since the Linux rq won't
track this for us).
Had to introduce a number of hacks and kludges to
make this work in the required timeframe:
1) C-EDF's ready queue lock becomes recursive (yuck!)
2) Extend bheap with a for_each visitor function.
This is needed to set a timer for each newly released
job.
3) Dual-binary heap structure in C-EDF to divide
jobs into top-m and not-top-m tasks.
4) Restructured the budget plugin API. Unfortunatly,
there is not a lot of overlap between SIMPLE and
SOBLIV draining policies.
Diffstat (limited to 'firmware')
0 files changed, 0 insertions, 0 deletions