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 | |
| parent | daf1e620bff2cb6d830ef66725369bba9c858f62 (diff) | |
Resolved merge bugs.
| -rw-r--r-- | include/litmus/sched_trace.h | 1 | ||||
| -rw-r--r-- | kernel/sched.c | 3 | ||||
| -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 |
8 files changed, 29 insertions, 48 deletions
diff --git a/include/litmus/sched_trace.h b/include/litmus/sched_trace.h index 0370cdc091aa..15909e530771 100644 --- a/include/litmus/sched_trace.h +++ b/include/litmus/sched_trace.h | |||
| @@ -298,7 +298,6 @@ feather_callback void do_sched_trace_task_tardy(unsigned long id, | |||
| 298 | do { \ | 298 | do { \ |
| 299 | SCHED_TRACE(SCHED_TRACE_BASE_ID + 12, \ | 299 | SCHED_TRACE(SCHED_TRACE_BASE_ID + 12, \ |
| 300 | do_sched_trace_task_tardy, t); \ | 300 | do_sched_trace_task_tardy, t); \ |
| 301 | trace_litmus_task_tardy(t); \ | ||
| 302 | } while (0) | 301 | } while (0) |
| 303 | 302 | ||
| 304 | #define QT_START lt_t _qt_start = litmus_clock() | 303 | #define QT_START lt_t _qt_start = litmus_clock() |
diff --git a/kernel/sched.c b/kernel/sched.c index d9d591e70b03..4f76f883f831 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
| @@ -83,9 +83,6 @@ | |||
| 83 | #define CREATE_TRACE_POINTS | 83 | #define CREATE_TRACE_POINTS |
| 84 | #include <trace/events/sched.h> | 84 | #include <trace/events/sched.h> |
| 85 | 85 | ||
| 86 | #define CREATE_TRACE_POINTS | ||
| 87 | #include <trace/events/sched.h> | ||
| 88 | |||
| 89 | #include <litmus/sched_trace.h> | 86 | #include <litmus/sched_trace.h> |
| 90 | #include <litmus/trace.h> | 87 | #include <litmus/trace.h> |
| 91 | 88 | ||
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]; |
