aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2007-05-16 23:39:58 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2007-05-16 23:39:58 -0400
commit0a460221dc2e0338f08ce7421cae7a4763412375 (patch)
tree32bcc4a0c30baae4d38cd00d80862b2eb7780182
parentd7ea89b8dcb5e9747c755a8a922e911742d90bd9 (diff)
Make sched_trace conditional.
TODO: Make it a .config option.
-rw-r--r--include/linux/sched_trace.h29
-rw-r--r--kernel/sched_trace.c8
-rw-r--r--lib/semaphore-sleepers.c2
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
91void sched_trace_scheduler_invocation(void); 91void sched_trace_scheduler_invocation(void);
92 92
93void sched_trace_task_arrival(struct task_struct *t); 93void sched_trace_task_arrival(struct task_struct *t);
@@ -118,6 +118,33 @@ void sched_trace_server_completion(int id, unsigned int budget,
118void sched_trace_server_scheduled(int id, task_class_t class, 118void 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
121void sched_trace_log_message(const char* fmt, ...); 141void 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
503static DEFINE_PER_CPU(char[MSG_SIZE], fmt_buffer); 506static 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
538static inline void __put_trace(char* mem, size_t size) 544static 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/*