diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2008-05-05 14:32:06 -0400 |
---|---|---|
committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2008-05-05 14:32:06 -0400 |
commit | 990d51d6562a399595f0f6fca11d09b4a2ac513d (patch) | |
tree | 9b26be443e6555e0385deddde2ece4e0ad1b8266 | |
parent | 04873371d489603edb52cf723ebed322c6c80d74 (diff) |
GSN-EDF: log relinking decisions
For debugging, make relinking optimizations available in the TRACE() log.
-rw-r--r-- | litmus/sched_gsn_edf.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/litmus/sched_gsn_edf.c b/litmus/sched_gsn_edf.c index 08069abe1c..b8dc0b1f8e 100644 --- a/litmus/sched_gsn_edf.c +++ b/litmus/sched_gsn_edf.c | |||
@@ -179,6 +179,9 @@ static noinline void link_task_to_cpu(struct task_struct* linked, | |||
179 | * the caller to get things right. | 179 | * the caller to get things right. |
180 | */ | 180 | */ |
181 | if (entry != sched) { | 181 | if (entry != sched) { |
182 | TRACE_TASK(linked, | ||
183 | "already scheduled on %d, updating link.\n", | ||
184 | sched->cpu); | ||
182 | tmp = sched->linked; | 185 | tmp = sched->linked; |
183 | linked->rt_param.linked_on = sched->cpu; | 186 | linked->rt_param.linked_on = sched->cpu; |
184 | sched->linked = linked; | 187 | sched->linked = linked; |
@@ -190,6 +193,10 @@ static noinline void link_task_to_cpu(struct task_struct* linked, | |||
190 | linked->rt_param.linked_on = entry->cpu; | 193 | linked->rt_param.linked_on = entry->cpu; |
191 | } | 194 | } |
192 | entry->linked = linked; | 195 | entry->linked = linked; |
196 | if (linked) | ||
197 | TRACE_TASK(linked, "linked to %d.\n", entry->cpu); | ||
198 | else | ||
199 | TRACE("NULL linked to %d.\n", entry->cpu); | ||
193 | update_cpu_position(entry); | 200 | update_cpu_position(entry); |
194 | } | 201 | } |
195 | 202 | ||
@@ -409,6 +416,8 @@ static struct task_struct* gsnedf_schedule(struct task_struct * prev) | |||
409 | sleep = exists && get_rt_flags(entry->scheduled) == RT_F_SLEEP; | 416 | sleep = exists && get_rt_flags(entry->scheduled) == RT_F_SLEEP; |
410 | preempt = entry->scheduled != entry->linked; | 417 | preempt = entry->scheduled != entry->linked; |
411 | 418 | ||
419 | TRACE_TASK(prev, "invoked gsnedf_schedule.\n"); | ||
420 | |||
412 | if (exists) | 421 | if (exists) |
413 | TRACE_TASK(prev, | 422 | TRACE_TASK(prev, |
414 | "blocks:%d out_of_time:%d np:%d sleep:%d preempt:%d " | 423 | "blocks:%d out_of_time:%d np:%d sleep:%d preempt:%d " |