diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2007-05-16 23:39:58 -0400 |
---|---|---|
committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2007-05-16 23:39:58 -0400 |
commit | 0a460221dc2e0338f08ce7421cae7a4763412375 (patch) | |
tree | 32bcc4a0c30baae4d38cd00d80862b2eb7780182 | |
parent | d7ea89b8dcb5e9747c755a8a922e911742d90bd9 (diff) |
Make sched_trace conditional.
TODO: Make it a .config option.
-rw-r--r-- | include/linux/sched_trace.h | 29 | ||||
-rw-r--r-- | kernel/sched_trace.c | 8 | ||||
-rw-r--r-- | lib/semaphore-sleepers.c | 2 |
3 files changed, 36 insertions, 3 deletions
diff --git a/include/linux/sched_trace.h b/include/linux/sched_trace.h index 5e5a91cf70..67395e6e0c 100644 --- a/include/linux/sched_trace.h +++ b/include/linux/sched_trace.h | |||
@@ -87,7 +87,7 @@ typedef struct { | |||
87 | pid_t donor; | 87 | pid_t donor; |
88 | } cap_allocation_record_t; | 88 | } cap_allocation_record_t; |
89 | 89 | ||
90 | 90 | #ifdef SCHED_TASK_TRACE | |
91 | void sched_trace_scheduler_invocation(void); | 91 | void sched_trace_scheduler_invocation(void); |
92 | 92 | ||
93 | void sched_trace_task_arrival(struct task_struct *t); | 93 | void sched_trace_task_arrival(struct task_struct *t); |
@@ -118,6 +118,33 @@ void sched_trace_server_completion(int id, unsigned int budget, | |||
118 | void sched_trace_server_scheduled(int id, task_class_t class, | 118 | void sched_trace_server_scheduled(int id, task_class_t class, |
119 | unsigned int budget, jiffie_t deadline); | 119 | unsigned int budget, jiffie_t deadline); |
120 | 120 | ||
121 | #else | ||
122 | #define sched_trace_scheduler_invocation(x) | ||
123 | |||
124 | #define sched_trace_task_arrival(t) | ||
125 | #define sched_trace_task_departure(t) | ||
126 | #define sched_trace_task_preemption(t, by) | ||
127 | #define sched_trace_task_scheduled(t) | ||
128 | #define sched_trace_job_release(t) | ||
129 | #define sched_trace_job_completion(t) | ||
130 | #define sched_trace_capacity_release(t) | ||
131 | #define sched_trace_capacity_allocation(t, budget, deadline, donor) | ||
132 | #define sched_trace_capacity_alloc_srv(srv, srv_dl, cls, srv_budget,\ | ||
133 | budget, deadline, donor) | ||
134 | #define sched_trace_server_release(id, wcet, period, class) | ||
135 | #define sched_trace_server_completion(id, budget, deadline, class) | ||
136 | #define sched_trace_server_scheduled(id, class, budget, deadline) | ||
137 | #endif | ||
138 | |||
139 | |||
140 | #ifdef SCHED_DEBUG_TRACE | ||
121 | void sched_trace_log_message(const char* fmt, ...); | 141 | void sched_trace_log_message(const char* fmt, ...); |
122 | 142 | ||
143 | #else | ||
144 | |||
145 | #define sched_trace_log_message(fmt, ...) | ||
146 | |||
147 | #endif | ||
148 | |||
149 | |||
123 | #endif | 150 | #endif |
diff --git a/kernel/sched_trace.c b/kernel/sched_trace.c index 5911488933..9081fbe367 100644 --- a/kernel/sched_trace.c +++ b/kernel/sched_trace.c | |||
@@ -499,6 +499,9 @@ module_init(init_sched_trace); | |||
499 | /* The per-CPU LITMUS log buffer. Don't put it on the stack, it is too big for | 499 | /* The per-CPU LITMUS log buffer. Don't put it on the stack, it is too big for |
500 | * that and the kernel gets very picky with nested interrupts and small stacks. | 500 | * that and the kernel gets very picky with nested interrupts and small stacks. |
501 | */ | 501 | */ |
502 | |||
503 | #ifdef SCHED_DEBUG_TRACE | ||
504 | |||
502 | #define MSG_SIZE 255 | 505 | #define MSG_SIZE 255 |
503 | static DEFINE_PER_CPU(char[MSG_SIZE], fmt_buffer); | 506 | static DEFINE_PER_CPU(char[MSG_SIZE], fmt_buffer); |
504 | 507 | ||
@@ -534,6 +537,9 @@ void sched_trace_log_message(const char* fmt, ...) | |||
534 | va_end(args); | 537 | va_end(args); |
535 | } | 538 | } |
536 | 539 | ||
540 | #endif | ||
541 | |||
542 | #ifdef SCHED_TASK_TRACE | ||
537 | 543 | ||
538 | static inline void __put_trace(char* mem, size_t size) | 544 | static inline void __put_trace(char* mem, size_t size) |
539 | { | 545 | { |
@@ -714,3 +720,5 @@ void sched_trace_capacity_alloc_srv(pid_t srv, u32 srv_dl, task_class_t cls, | |||
714 | rec.deadline = deadline; | 720 | rec.deadline = deadline; |
715 | put_trace(rec); | 721 | put_trace(rec); |
716 | } | 722 | } |
723 | |||
724 | #endif | ||
diff --git a/lib/semaphore-sleepers.c b/lib/semaphore-sleepers.c index e500018f51..3f4d54344d 100644 --- a/lib/semaphore-sleepers.c +++ b/lib/semaphore-sleepers.c | |||
@@ -15,8 +15,6 @@ | |||
15 | #include <linux/sched.h> | 15 | #include <linux/sched.h> |
16 | #include <linux/err.h> | 16 | #include <linux/err.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/sched_plugin.h> | ||
19 | #include <linux/litmus.h> | ||
20 | #include <asm/semaphore.h> | 18 | #include <asm/semaphore.h> |
21 | 19 | ||
22 | /* | 20 | /* |