summaryrefslogtreecommitdiffstats
path: root/unit_trace/gedf_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'unit_trace/gedf_test.py')
-rw-r--r--unit_trace/gedf_test.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/unit_trace/gedf_test.py b/unit_trace/gedf_test.py
index 41bab96..3f4e150 100644
--- a/unit_trace/gedf_test.py
+++ b/unit_trace/gedf_test.py
@@ -88,20 +88,26 @@ class Job(object):
88 self.is_complete = False 88 self.is_complete = False
89 self.inversion_start = None 89 self.inversion_start = None
90 self.inversion_end = None 90 self.inversion_end = None
91 self.inversion_start_id = None
91 def __str__(self): 92 def __str__(self):
92 return "(%d.%d:%d)" % (self.pid,self.job,self.deadline) 93 return "(%d.%d:%d)" % (self.pid,self.job,self.deadline)
93 94
94# G-EDF errors: the start or end of an inversion 95# G-EDF errors: the start or end of an inversion
95class Error(object): 96class Error(object):
97 id = 0
96 def __init__(self, job, eligible, on_cpu): 98 def __init__(self, job, eligible, on_cpu):
99 Error.id += 1
100 self.id = Error.id
97 self.job = copy.copy(job) 101 self.job = copy.copy(job)
98 self.eligible = copy.copy(eligible) 102 self.eligible = copy.copy(eligible)
99 self.on_cpu = copy.copy(on_cpu) 103 self.on_cpu = copy.copy(on_cpu)
100 self.record_type = 'error' 104 self.record_type = 'error'
101 if job.inversion_end is None: 105 if job.inversion_end is None:
102 self.type_name = 'inversion_start' 106 self.type_name = 'inversion_start'
107 job.inversion_start_id = self.id
103 else: 108 else:
104 self.type_name = 'inversion_end' 109 self.type_name = 'inversion_end'
110 self.inversion_start_id = job.inversion_start_id
105 111
106# Returns the position of a Job in a list, or None 112# Returns the position of a Job in a list, or None
107def _find_job(record,list): 113def _find_job(record,list):