aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2008-05-05 14:32:06 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2008-05-05 14:32:06 -0400
commit990d51d6562a399595f0f6fca11d09b4a2ac513d (patch)
tree9b26be443e6555e0385deddde2ece4e0ad1b8266
parent04873371d489603edb52cf723ebed322c6c80d74 (diff)
GSN-EDF: log relinking decisions
For debugging, make relinking optimizations available in the TRACE() log.
-rw-r--r--litmus/sched_gsn_edf.c9
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 "