diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-09-29 13:05:45 -0400 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-09-29 13:05:45 -0400 |
commit | e9fc09f4bd2bae682cea6e7155aad1fe3f58e77b (patch) | |
tree | 469975dd524354db3b36d51704f77ce728fc0189 /litmus | |
parent | daf1e620bff2cb6d830ef66725369bba9c858f62 (diff) |
Resolved merge bugs.
Diffstat (limited to 'litmus')
-rw-r--r-- | litmus/Makefile | 34 | ||||
-rw-r--r-- | litmus/litmus.c | 2 | ||||
-rw-r--r-- | litmus/locking.c | 10 | ||||
-rw-r--r-- | litmus/rt_domain.c | 2 | ||||
-rw-r--r-- | litmus/sched_litmus.c | 5 | ||||
-rw-r--r-- | litmus/sched_mc.c | 20 |
6 files changed, 29 insertions, 44 deletions
diff --git a/litmus/Makefile b/litmus/Makefile index b406cf2ad9e1..cea8a2572bd3 100644 --- a/litmus/Makefile +++ b/litmus/Makefile | |||
@@ -3,33 +3,29 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y = sched_plugin.o litmus.o \ | 5 | obj-y = sched_plugin.o litmus.o \ |
6 | preempt.o \ | 6 | bheap.o \ |
7 | litmus_proc.o \ | ||
8 | budget.o \ | 7 | budget.o \ |
9 | clustered.o \ | 8 | clustered.o \ |
10 | jobs.o \ | ||
11 | sync.o \ | ||
12 | rt_domain.o \ | ||
13 | edf_common.o \ | ||
14 | fdso.o \ | ||
15 | locking.o \ | ||
16 | srp.o \ | ||
17 | bheap.o \ | ||
18 | ctrldev.o \ | ||
19 | domain.o \ | ||
20 | sched_psn_edf.o \ | ||
21 | sched_gsn_edf.o | ||
22 | color.o \ | 9 | color.o \ |
23 | color_proc.o \ | ||
24 | color_dev.o \ | 10 | color_dev.o \ |
25 | rt_server.o \ | 11 | color_proc.o \ |
12 | ctrldev.o \ | ||
26 | dgl.o \ | 13 | dgl.o \ |
14 | domain.o \ | ||
15 | edf_common.o \ | ||
16 | fdso.o \ | ||
27 | fifo_common.o \ | 17 | fifo_common.o \ |
18 | jobs.o \ | ||
19 | litmus_proc.o \ | ||
20 | locking.o \ | ||
21 | preempt.o \ | ||
28 | rm_common.o \ | 22 | rm_common.o \ |
23 | rt_domain.o \ | ||
24 | rt_server.o \ | ||
25 | sched_gsn_edf.o \ | ||
29 | sched_psn_edf.o \ | 26 | sched_psn_edf.o \ |
30 | sched_gsn_edf.o | 27 | srp.o \ |
31 | 28 | sync.o | |
32 | |||
33 | 29 | ||
34 | obj-$(CONFIG_PLUGIN_CEDF) += sched_cedf.o | 30 | obj-$(CONFIG_PLUGIN_CEDF) += sched_cedf.o |
35 | obj-$(CONFIG_PLUGIN_PFAIR) += sched_pfair.o | 31 | obj-$(CONFIG_PLUGIN_PFAIR) += sched_pfair.o |
diff --git a/litmus/litmus.c b/litmus/litmus.c index b76e1496d7f4..7d20dd1be493 100644 --- a/litmus/litmus.c +++ b/litmus/litmus.c | |||
@@ -24,6 +24,8 @@ | |||
24 | #include <litmus/sched_mc.h> | 24 | #include <litmus/sched_mc.h> |
25 | #else | 25 | #else |
26 | struct mc_task; | 26 | struct mc_task; |
27 | #endif | ||
28 | |||
27 | #ifdef CONFIG_SCHED_CPU_AFFINITY | 29 | #ifdef CONFIG_SCHED_CPU_AFFINITY |
28 | #include <litmus/affinity.h> | 30 | #include <litmus/affinity.h> |
29 | #endif | 31 | #endif |
diff --git a/litmus/locking.c b/litmus/locking.c index e051a288aba0..4881ca119acf 100644 --- a/litmus/locking.c +++ b/litmus/locking.c | |||
@@ -75,10 +75,6 @@ asmlinkage long sys_litmus_lock(int lock_od) | |||
75 | struct od_table_entry* entry; | 75 | struct od_table_entry* entry; |
76 | struct litmus_lock* l; | 76 | struct litmus_lock* l; |
77 | 77 | ||
78 | TS_SYSCALL_IN_START; | ||
79 | |||
80 | TS_SYSCALL_IN_END; | ||
81 | |||
82 | TS_LOCK_START; | 78 | TS_LOCK_START; |
83 | 79 | ||
84 | entry = get_entry_for_od(lock_od); | 80 | entry = get_entry_for_od(lock_od); |
@@ -101,10 +97,6 @@ asmlinkage long sys_litmus_unlock(int lock_od) | |||
101 | struct od_table_entry* entry; | 97 | struct od_table_entry* entry; |
102 | struct litmus_lock* l; | 98 | struct litmus_lock* l; |
103 | 99 | ||
104 | TS_SYSCALL_IN_START; | ||
105 | |||
106 | TS_SYSCALL_IN_END; | ||
107 | |||
108 | TS_UNLOCK_START; | 100 | TS_UNLOCK_START; |
109 | 101 | ||
110 | entry = get_entry_for_od(lock_od); | 102 | entry = get_entry_for_od(lock_od); |
@@ -118,8 +110,6 @@ asmlinkage long sys_litmus_unlock(int lock_od) | |||
118 | * account when computing overheads. */ | 110 | * account when computing overheads. */ |
119 | TS_UNLOCK_END; | 111 | TS_UNLOCK_END; |
120 | 112 | ||
121 | TS_SYSCALL_OUT_START; | ||
122 | |||
123 | return err; | 113 | return err; |
124 | } | 114 | } |
125 | 115 | ||
diff --git a/litmus/rt_domain.c b/litmus/rt_domain.c index 79243f92edbe..faf876623d62 100644 --- a/litmus/rt_domain.c +++ b/litmus/rt_domain.c | |||
@@ -57,8 +57,6 @@ static void do_release(struct release_heap *rh) | |||
57 | TS_LVLB_RELEASE_START; | 57 | TS_LVLB_RELEASE_START; |
58 | else | 58 | else |
59 | TS_LVLC_RELEASE_START; | 59 | TS_LVLC_RELEASE_START; |
60 | struct release_heap* rh; | ||
61 | rh = container_of(timer, struct release_heap, timer); | ||
62 | 60 | ||
63 | TS_RELEASE_LATENCY(rh->release_time); | 61 | TS_RELEASE_LATENCY(rh->release_time); |
64 | 62 | ||
diff --git a/litmus/sched_litmus.c b/litmus/sched_litmus.c index 39673ab6c7cd..3de3c8605aae 100644 --- a/litmus/sched_litmus.c +++ b/litmus/sched_litmus.c | |||
@@ -194,9 +194,6 @@ static void dequeue_task_litmus(struct rq *rq, struct task_struct *p, | |||
194 | 194 | ||
195 | static void yield_task_litmus(struct rq *rq) | 195 | static void yield_task_litmus(struct rq *rq) |
196 | { | 196 | { |
197 | TS_SYSCALL_IN_START; | ||
198 | |||
199 | TS_SYSCALL_OUT_END; | ||
200 | BUG_ON(rq->curr != current); | 197 | BUG_ON(rq->curr != current); |
201 | /* sched_yield() is called to trigger delayed preemptions. | 198 | /* sched_yield() is called to trigger delayed preemptions. |
202 | * Thus, mark the current task as needing to be rescheduled. | 199 | * Thus, mark the current task as needing to be rescheduled. |
@@ -205,8 +202,6 @@ static void yield_task_litmus(struct rq *rq) | |||
205 | */ | 202 | */ |
206 | clear_exit_np(current); | 203 | clear_exit_np(current); |
207 | litmus_reschedule_local(); | 204 | litmus_reschedule_local(); |
208 | |||
209 | TS_SYSCALL_OUT_START; | ||
210 | } | 205 | } |
211 | 206 | ||
212 | /* Plugins are responsible for this. | 207 | /* Plugins are responsible for this. |
diff --git a/litmus/sched_mc.c b/litmus/sched_mc.c index 41f02ee3e6ca..2f4eb82b2220 100644 --- a/litmus/sched_mc.c +++ b/litmus/sched_mc.c | |||
@@ -309,7 +309,8 @@ static void link_task_to_crit(struct crit_entry *ce, | |||
309 | update_ghost_time(ce->linked); | 309 | update_ghost_time(ce->linked); |
310 | } | 310 | } |
311 | } | 311 | } |
312 | sched_trace_server_switch_away(sid(ce), 0, ce->linked->pid); | 312 | sched_trace_server_switch_away(sid(ce), 0, ce->linked->pid, |
313 | tsk_rt(ce->linked)->job_params.job_no); | ||
313 | } | 314 | } |
314 | 315 | ||
315 | /* Actually link task */ | 316 | /* Actually link task */ |
@@ -326,9 +327,10 @@ static void link_task_to_crit(struct crit_entry *ce, | |||
326 | tsk_mc_data(task)->mc_job.ghost_budget; | 327 | tsk_mc_data(task)->mc_job.ghost_budget; |
327 | arm_ghost(ce, when_to_fire); | 328 | arm_ghost(ce, when_to_fire); |
328 | 329 | ||
329 | sched_trace_server_switch_to(sid(ce), 0, 0); | 330 | sched_trace_server_switch_to(sid(ce), 0, 0, 0); |
330 | } else { | 331 | } else { |
331 | sched_trace_server_switch_to(sid(ce), 0, task->pid); | 332 | sched_trace_server_switch_to(sid(ce), 0, task->pid, |
333 | get_rt_job(ce->linked)); | ||
332 | } | 334 | } |
333 | } | 335 | } |
334 | } | 336 | } |
@@ -435,14 +437,16 @@ static void link_task_to_cpu(struct cpu_entry *entry, struct task_struct *task) | |||
435 | if (entry->linked) { | 437 | if (entry->linked) { |
436 | sched_trace_server_switch_away(-entry->linked->pid, | 438 | sched_trace_server_switch_away(-entry->linked->pid, |
437 | get_server_job(entry->linked), | 439 | get_server_job(entry->linked), |
438 | entry->linked->pid); | 440 | entry->linked->pid, |
441 | get_rt_job(entry->linked)); | ||
439 | } | 442 | } |
440 | 443 | ||
441 | if (task){ | 444 | if (task){ |
442 | set_rt_flags(task, RT_F_RUNNING); | 445 | set_rt_flags(task, RT_F_RUNNING); |
443 | sched_trace_server_switch_to(-task->pid, | 446 | sched_trace_server_switch_to(-task->pid, |
444 | get_server_job(task), | 447 | get_server_job(task), |
445 | task->pid); | 448 | task->pid, |
449 | get_rt_job(task)); | ||
446 | } | 450 | } |
447 | entry->linked = task; | 451 | entry->linked = task; |
448 | 452 | ||
@@ -1184,7 +1188,7 @@ static void mc_release_ts(lt_t time) | |||
1184 | strcpy(name, "LVL-A"); | 1188 | strcpy(name, "LVL-A"); |
1185 | for_each_online_cpu(cpu) { | 1189 | for_each_online_cpu(cpu) { |
1186 | entry = &per_cpu(cpus, cpu); | 1190 | entry = &per_cpu(cpus, cpu); |
1187 | trace_litmus_container_param(++cont_id, &name); | 1191 | trace_litmus_container_param(++cont_id, (const char*)&name); |
1188 | ce = &entry->crit_entries[level]; | 1192 | ce = &entry->crit_entries[level]; |
1189 | sched_trace_server_param(sid(ce), cont_id, 0, 0); | 1193 | sched_trace_server_param(sid(ce), cont_id, 0, 0); |
1190 | } | 1194 | } |
@@ -1193,14 +1197,14 @@ static void mc_release_ts(lt_t time) | |||
1193 | strcpy(name, "LVL-B"); | 1197 | strcpy(name, "LVL-B"); |
1194 | for_each_online_cpu(cpu) { | 1198 | for_each_online_cpu(cpu) { |
1195 | entry = &per_cpu(cpus, cpu); | 1199 | entry = &per_cpu(cpus, cpu); |
1196 | trace_litmus_container_param(++cont_id, &name); | 1200 | trace_litmus_container_param(++cont_id, (const char*)&name); |
1197 | ce = &entry->crit_entries[level]; | 1201 | ce = &entry->crit_entries[level]; |
1198 | sched_trace_server_param(sid(ce), cont_id, 0, 0); | 1202 | sched_trace_server_param(sid(ce), cont_id, 0, 0); |
1199 | } | 1203 | } |
1200 | 1204 | ||
1201 | level = CRIT_LEVEL_C; | 1205 | level = CRIT_LEVEL_C; |
1202 | strcpy(name, "LVL-C"); | 1206 | strcpy(name, "LVL-C"); |
1203 | trace_litmus_container_param(++cont_id, &name); | 1207 | trace_litmus_container_param(++cont_id, (const char*)&name); |
1204 | for_each_online_cpu(cpu) { | 1208 | for_each_online_cpu(cpu) { |
1205 | entry = &per_cpu(cpus, cpu); | 1209 | entry = &per_cpu(cpus, cpu); |
1206 | ce = &entry->crit_entries[level]; | 1210 | ce = &entry->crit_entries[level]; |