diff options
Diffstat (limited to 'unit_trace/gedf_test.py')
-rw-r--r-- | unit_trace/gedf_test.py | 6 |
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 |
95 | class Error(object): | 96 | class 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 |
107 | def _find_job(record,list): | 113 | def _find_job(record,list): |