aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/sched_gsn_edf.c
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2009-12-18 09:08:44 -0500
committerAndrea Bastoni <bastoni@cs.unc.edu>2009-12-18 09:08:44 -0500
commit2f41251f9febad2e54fa338ea63a62818970af0c (patch)
tree470e7ae6305bc554b1564579586b898fd8da5159 /litmus/sched_gsn_edf.c
parent0c70a26073633b3879eac57d38f1260c1bebeafc (diff)
Test kernel tracing events capabilitiestracing-devel
Can events be applied to LITMUS code instead of sched_task_trace ? PROS: - architectural indipendency - easy porting on newer kernel version - lock free ring buffer implementation already there CONS: - need userspace tools conversion to slightly different format - is it possible to replicate all the previous functionalities? - only sched_trace_* functions can be implemented through events, TRACE() debugging features are still implemented in the old way (??? cannot we simply use the tracing features of the kernel for debugging purposes ????)
Diffstat (limited to 'litmus/sched_gsn_edf.c')
-rw-r--r--litmus/sched_gsn_edf.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/litmus/sched_gsn_edf.c b/litmus/sched_gsn_edf.c
index a223e69f2efb..5386f0a24587 100644
--- a/litmus/sched_gsn_edf.c
+++ b/litmus/sched_gsn_edf.c
@@ -18,6 +18,8 @@
18#include <litmus/edf_common.h> 18#include <litmus/edf_common.h>
19#include <litmus/sched_trace.h> 19#include <litmus/sched_trace.h>
20 20
21#include <trace/events/sched.h>
22
21#include <litmus/heap.h> 23#include <litmus/heap.h>
22 24
23#include <linux/module.h> 25#include <linux/module.h>
@@ -321,7 +323,8 @@ static noinline void job_completion(struct task_struct *t, int forced)
321{ 323{
322 BUG_ON(!t); 324 BUG_ON(!t);
323 325
324 sched_trace_task_completion(t, forced); 326// sched_trace_task_completion(t, forced);
327 trace_litmus_task_completion(t, forced);
325 328
326 TRACE_TASK(t, "job_completion().\n"); 329 TRACE_TASK(t, "job_completion().\n");
327 330
@@ -330,7 +333,8 @@ static noinline void job_completion(struct task_struct *t, int forced)
330 /* prepare for next period */ 333 /* prepare for next period */
331 prepare_for_next_period(t); 334 prepare_for_next_period(t);
332 if (is_released(t, litmus_clock())) 335 if (is_released(t, litmus_clock()))
333 sched_trace_task_release(t); 336 trace_litmus_task_release(t);
337// sched_trace_task_release(t);
334 /* unlink */ 338 /* unlink */
335 unlink(t); 339 unlink(t);
336 /* requeue 340 /* requeue
@@ -558,7 +562,8 @@ static void gsnedf_task_wake_up(struct task_struct *task)
558 if (is_tardy(task, now)) { 562 if (is_tardy(task, now)) {
559 /* new sporadic release */ 563 /* new sporadic release */
560 release_at(task, now); 564 release_at(task, now);
561 sched_trace_task_release(task); 565// sched_trace_task_release(task);
566 trace_litmus_task_release(task);
562 } 567 }
563 else { 568 else {
564 if (task->rt.time_slice) { 569 if (task->rt.time_slice) {