diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2010-02-03 13:59:40 -0500 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-29 17:20:56 -0400 |
commit | 9ac80419f88f192cdf586da3df585c224ef27773 (patch) | |
tree | f55398ddab7090146db56c89c6bf0cf28e3ab573 /litmus/sched_gsn_edf.c | |
parent | ee09f78d8faa0b988088d93142e6f5f8a6e75394 (diff) |
Turn off GSN-EDF TRACE() spam by default.
Having GSN-EDF log so many things each tick is useful
when tracking down race conditions, but it also makes
it really hard to find anything else. Thus, turn it off by
default but leave it in for future debugging fun.
Diffstat (limited to 'litmus/sched_gsn_edf.c')
-rw-r--r-- | litmus/sched_gsn_edf.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/litmus/sched_gsn_edf.c b/litmus/sched_gsn_edf.c index 9f256be86cf7..2a0ee50d26a2 100644 --- a/litmus/sched_gsn_edf.c +++ b/litmus/sched_gsn_edf.c | |||
@@ -118,6 +118,11 @@ static rt_domain_t gsnedf; | |||
118 | #define gsnedf_lock (gsnedf.ready_lock) | 118 | #define gsnedf_lock (gsnedf.ready_lock) |
119 | 119 | ||
120 | 120 | ||
121 | /* Uncomment this if you want to see all scheduling decisions in the | ||
122 | * TRACE() log. | ||
123 | #define WANT_ALL_SCHED_EVENTS | ||
124 | */ | ||
125 | |||
121 | static int cpu_lower_prio(struct bheap_node *_a, struct bheap_node *_b) | 126 | static int cpu_lower_prio(struct bheap_node *_a, struct bheap_node *_b) |
122 | { | 127 | { |
123 | cpu_entry_t *a, *b; | 128 | cpu_entry_t *a, *b; |
@@ -196,10 +201,12 @@ static noinline void link_task_to_cpu(struct task_struct* linked, | |||
196 | linked->rt_param.linked_on = entry->cpu; | 201 | linked->rt_param.linked_on = entry->cpu; |
197 | } | 202 | } |
198 | entry->linked = linked; | 203 | entry->linked = linked; |
204 | #ifdef WANT_ALL_SCHED_EVENTS | ||
199 | if (linked) | 205 | if (linked) |
200 | TRACE_TASK(linked, "linked to %d.\n", entry->cpu); | 206 | TRACE_TASK(linked, "linked to %d.\n", entry->cpu); |
201 | else | 207 | else |
202 | TRACE("NULL linked to %d.\n", entry->cpu); | 208 | TRACE("NULL linked to %d.\n", entry->cpu); |
209 | #endif | ||
203 | update_cpu_position(entry); | 210 | update_cpu_position(entry); |
204 | } | 211 | } |
205 | 212 | ||
@@ -415,7 +422,9 @@ static struct task_struct* gsnedf_schedule(struct task_struct * prev) | |||
415 | sleep = exists && get_rt_flags(entry->scheduled) == RT_F_SLEEP; | 422 | sleep = exists && get_rt_flags(entry->scheduled) == RT_F_SLEEP; |
416 | preempt = entry->scheduled != entry->linked; | 423 | preempt = entry->scheduled != entry->linked; |
417 | 424 | ||
425 | #ifdef WANT_ALL_SCHED_EVENTS | ||
418 | TRACE_TASK(prev, "invoked gsnedf_schedule.\n"); | 426 | TRACE_TASK(prev, "invoked gsnedf_schedule.\n"); |
427 | #endif | ||
419 | 428 | ||
420 | if (exists) | 429 | if (exists) |
421 | TRACE_TASK(prev, | 430 | TRACE_TASK(prev, |
@@ -480,13 +489,14 @@ static struct task_struct* gsnedf_schedule(struct task_struct * prev) | |||
480 | 489 | ||
481 | spin_unlock(&gsnedf_lock); | 490 | spin_unlock(&gsnedf_lock); |
482 | 491 | ||
492 | #ifdef WANT_ALL_SCHED_EVENTS | ||
483 | TRACE("gsnedf_lock released, next=0x%p\n", next); | 493 | TRACE("gsnedf_lock released, next=0x%p\n", next); |
484 | 494 | ||
485 | |||
486 | if (next) | 495 | if (next) |
487 | TRACE_TASK(next, "scheduled at %llu\n", litmus_clock()); | 496 | TRACE_TASK(next, "scheduled at %llu\n", litmus_clock()); |
488 | else if (exists && !next) | 497 | else if (exists && !next) |
489 | TRACE("becomes idle at %llu.\n", litmus_clock()); | 498 | TRACE("becomes idle at %llu.\n", litmus_clock()); |
499 | #endif | ||
490 | 500 | ||
491 | 501 | ||
492 | return next; | 502 | return next; |
@@ -500,7 +510,9 @@ static void gsnedf_finish_switch(struct task_struct *prev) | |||
500 | cpu_entry_t* entry = &__get_cpu_var(gsnedf_cpu_entries); | 510 | cpu_entry_t* entry = &__get_cpu_var(gsnedf_cpu_entries); |
501 | 511 | ||
502 | entry->scheduled = is_realtime(current) ? current : NULL; | 512 | entry->scheduled = is_realtime(current) ? current : NULL; |
513 | #ifdef WANT_ALL_SCHED_EVENTS | ||
503 | TRACE_TASK(prev, "switched away from\n"); | 514 | TRACE_TASK(prev, "switched away from\n"); |
515 | #endif | ||
504 | } | 516 | } |
505 | 517 | ||
506 | 518 | ||