aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/litmus/debug_trace.h37
-rw-r--r--include/litmus/litmus.h28
-rw-r--r--include/litmus/sched_trace.h9
-rw-r--r--litmus/budget.c1
-rw-r--r--litmus/litmus.c8
-rw-r--r--litmus/litmus_proc.c1
-rw-r--r--litmus/sched_plugin.c1
-rw-r--r--litmus/sched_psn_edf.c3
-rw-r--r--litmus/srp.c4
-rw-r--r--litmus/trace.c1
10 files changed, 47 insertions, 46 deletions
diff --git a/include/litmus/debug_trace.h b/include/litmus/debug_trace.h
new file mode 100644
index 000000000000..0f99be01d569
--- /dev/null
+++ b/include/litmus/debug_trace.h
@@ -0,0 +1,37 @@
1#ifndef LITMUS_DEBUG_TRACE_H
2#define LITMUS_DEBUG_TRACE_H
3
4#ifdef CONFIG_SCHED_DEBUG_TRACE
5void sched_trace_log_message(const char* fmt, ...);
6void dump_trace_buffer(int max);
7#else
8
9#define sched_trace_log_message(fmt, ...)
10
11#endif
12
13extern atomic_t __log_seq_no;
14
15#define TRACE(fmt, args...) \
16 sched_trace_log_message("%d P%d: " fmt, atomic_add_return(1, &__log_seq_no), \
17 raw_smp_processor_id(), ## args)
18
19#define TRACE_TASK(t, fmt, args...) \
20 TRACE("(%s/%d) " fmt, (t)->comm, (t)->pid, ##args)
21
22#define TRACE_CUR(fmt, args...) \
23 TRACE_TASK(current, fmt, ## args)
24
25#define TRACE_BUG_ON(cond) \
26 do { if (cond) TRACE("BUG_ON(%s) at %s:%d " \
27 "called from %p current=%s/%d state=%d " \
28 "flags=%x partition=%d cpu=%d rtflags=%d"\
29 " job=%u timeslice=%u\n", \
30 #cond, __FILE__, __LINE__, __builtin_return_address(0), current->comm, \
31 current->pid, current->state, current->flags, \
32 get_partition(current), smp_processor_id(), get_rt_flags(current), \
33 current->rt_param.job_params.job_no, \
34 current->rt.time_slice\
35 ); } while(0);
36
37#endif
diff --git a/include/litmus/litmus.h b/include/litmus/litmus.h
index 5d20276e44f4..30f41869b455 100644
--- a/include/litmus/litmus.h
+++ b/include/litmus/litmus.h
@@ -6,38 +6,12 @@
6#ifndef _LINUX_LITMUS_H_ 6#ifndef _LINUX_LITMUS_H_
7#define _LINUX_LITMUS_H_ 7#define _LINUX_LITMUS_H_
8 8
9#include <linux/jiffies.h> 9#include <litmus/debug_trace.h>
10#include <litmus/sched_trace.h>
11 10
12#ifdef CONFIG_RELEASE_MASTER 11#ifdef CONFIG_RELEASE_MASTER
13extern atomic_t release_master_cpu; 12extern atomic_t release_master_cpu;
14#endif 13#endif
15 14
16extern atomic_t __log_seq_no;
17
18#define TRACE(fmt, args...) \
19 sched_trace_log_message("%d P%d: " fmt, atomic_add_return(1, &__log_seq_no), \
20 raw_smp_processor_id(), ## args)
21
22#define TRACE_TASK(t, fmt, args...) \
23 TRACE("(%s/%d) " fmt, (t)->comm, (t)->pid, ##args)
24
25#define TRACE_CUR(fmt, args...) \
26 TRACE_TASK(current, fmt, ## args)
27
28#define TRACE_BUG_ON(cond) \
29 do { if (cond) TRACE("BUG_ON(%s) at %s:%d " \
30 "called from %p current=%s/%d state=%d " \
31 "flags=%x partition=%d cpu=%d rtflags=%d"\
32 " job=%u timeslice=%u\n", \
33 #cond, __FILE__, __LINE__, __builtin_return_address(0), current->comm, \
34 current->pid, current->state, current->flags, \
35 get_partition(current), smp_processor_id(), get_rt_flags(current), \
36 current->rt_param.job_params.job_no, \
37 current->rt.time_slice\
38 ); } while(0);
39
40
41/* in_list - is a given list_head queued on some list? 15/* in_list - is a given list_head queued on some list?
42 */ 16 */
43static inline int in_list(struct list_head* list) 17static inline int in_list(struct list_head* list)
diff --git a/include/litmus/sched_trace.h b/include/litmus/sched_trace.h
index e1b0c9712b5f..a5f73736f7e8 100644
--- a/include/litmus/sched_trace.h
+++ b/include/litmus/sched_trace.h
@@ -178,15 +178,6 @@ feather_callback void do_sched_trace_sys_release(unsigned long id,
178 178
179#define sched_trace_quantum_boundary() /* NOT IMPLEMENTED */ 179#define sched_trace_quantum_boundary() /* NOT IMPLEMENTED */
180 180
181#ifdef CONFIG_SCHED_DEBUG_TRACE
182void sched_trace_log_message(const char* fmt, ...);
183void dump_trace_buffer(int max);
184#else
185
186#define sched_trace_log_message(fmt, ...)
187
188#endif
189
190#endif /* __KERNEL__ */ 181#endif /* __KERNEL__ */
191 182
192#endif 183#endif
diff --git a/litmus/budget.c b/litmus/budget.c
index b99177a26313..f6f5ca81c9d6 100644
--- a/litmus/budget.c
+++ b/litmus/budget.c
@@ -1,3 +1,4 @@
1#include <linux/sched.h>
1#include <linux/percpu.h> 2#include <linux/percpu.h>
2#include <linux/hrtimer.h> 3#include <linux/hrtimer.h>
3 4
diff --git a/litmus/litmus.c b/litmus/litmus.c
index 99c35ac99870..0756d0156f8f 100644
--- a/litmus/litmus.c
+++ b/litmus/litmus.c
@@ -6,20 +6,16 @@
6#include <asm/uaccess.h> 6#include <asm/uaccess.h>
7#include <linux/uaccess.h> 7#include <linux/uaccess.h>
8#include <linux/sysrq.h> 8#include <linux/sysrq.h>
9 9#include <linux/sched.h>
10#include <linux/module.h> 10#include <linux/module.h>
11#include <linux/slab.h> 11#include <linux/slab.h>
12 12
13#include <litmus/litmus.h> 13#include <litmus/litmus.h>
14#include <linux/sched.h>
15
16#include <litmus/bheap.h> 14#include <litmus/bheap.h>
17
18#include <litmus/trace.h> 15#include <litmus/trace.h>
19
20#include <litmus/rt_domain.h> 16#include <litmus/rt_domain.h>
21
22#include <litmus/litmus_proc.h> 17#include <litmus/litmus_proc.h>
18#include <litmus/sched_trace.h>
23 19
24/* Number of RT tasks that exist in the system */ 20/* Number of RT tasks that exist in the system */
25atomic_t rt_task_count = ATOMIC_INIT(0); 21atomic_t rt_task_count = ATOMIC_INIT(0);
diff --git a/litmus/litmus_proc.c b/litmus/litmus_proc.c
index c10a6a6d3975..81ea5c35d291 100644
--- a/litmus/litmus_proc.c
+++ b/litmus/litmus_proc.c
@@ -2,6 +2,7 @@
2 * litmus_proc.c -- Implementation of the /proc/litmus directory tree. 2 * litmus_proc.c -- Implementation of the /proc/litmus directory tree.
3 */ 3 */
4 4
5#include <linux/sched.h>
5#include <linux/uaccess.h> 6#include <linux/uaccess.h>
6 7
7#include <litmus/litmus.h> 8#include <litmus/litmus.h>
diff --git a/litmus/sched_plugin.c b/litmus/sched_plugin.c
index d706a08fb313..ec04454a0cf9 100644
--- a/litmus/sched_plugin.c
+++ b/litmus/sched_plugin.c
@@ -6,6 +6,7 @@
6 6
7#include <linux/list.h> 7#include <linux/list.h>
8#include <linux/spinlock.h> 8#include <linux/spinlock.h>
9#include <linux/sched.h>
9 10
10#include <litmus/litmus.h> 11#include <litmus/litmus.h>
11#include <litmus/sched_plugin.h> 12#include <litmus/sched_plugin.h>
diff --git a/litmus/sched_psn_edf.c b/litmus/sched_psn_edf.c
index 73f64730bd5e..aa567f2b91b9 100644
--- a/litmus/sched_psn_edf.c
+++ b/litmus/sched_psn_edf.c
@@ -12,14 +12,13 @@
12#include <linux/sched.h> 12#include <linux/sched.h>
13#include <linux/list.h> 13#include <linux/list.h>
14#include <linux/spinlock.h> 14#include <linux/spinlock.h>
15
16#include <linux/module.h> 15#include <linux/module.h>
17 16
18#include <litmus/litmus.h> 17#include <litmus/litmus.h>
19#include <litmus/jobs.h> 18#include <litmus/jobs.h>
20#include <litmus/sched_plugin.h> 19#include <litmus/sched_plugin.h>
21#include <litmus/edf_common.h> 20#include <litmus/edf_common.h>
22 21#include <litmus/sched_trace.h>
23 22
24typedef struct { 23typedef struct {
25 rt_domain_t domain; 24 rt_domain_t domain;
diff --git a/litmus/srp.c b/litmus/srp.c
index 71639b991630..cb577598ce3e 100644
--- a/litmus/srp.c
+++ b/litmus/srp.c
@@ -3,12 +3,12 @@
3/* ************************************************************************** */ 3/* ************************************************************************** */
4 4
5#include <asm/atomic.h> 5#include <asm/atomic.h>
6#include <linux/sched.h>
6#include <linux/wait.h> 7#include <linux/wait.h>
8
7#include <litmus/litmus.h> 9#include <litmus/litmus.h>
8#include <litmus/sched_plugin.h> 10#include <litmus/sched_plugin.h>
9
10#include <litmus/fdso.h> 11#include <litmus/fdso.h>
11
12#include <litmus/trace.h> 12#include <litmus/trace.h>
13 13
14 14
diff --git a/litmus/trace.c b/litmus/trace.c
index 440376998dc9..b3a6b47aad6e 100644
--- a/litmus/trace.c
+++ b/litmus/trace.c
@@ -1,3 +1,4 @@
1#include <linux/sched.h>
1#include <linux/module.h> 2#include <linux/module.h>
2 3
3#include <litmus/ftdev.h> 4#include <litmus/ftdev.h>