aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2013-06-23 08:43:21 -0400
committerBjoern Brandenburg <bbb@mpi-sws.org>2013-08-07 03:46:45 -0400
commit6f7261a9e97672bcd791cf0489281a3d20e76f4a (patch)
tree7eb79a7afae733e542506b4c18853eef83cd4968 /include
parentfa1915603340cef8c0147919f3bc99599a152a97 (diff)
Feather-Trace: add support for latency tracing/
This patch adds support for tracing release latency in LITMUS^RT.
Diffstat (limited to 'include')
-rw-r--r--include/litmus/trace.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/litmus/trace.h b/include/litmus/trace.h
index 489b3d84f880..8ad4966c602e 100644
--- a/include/litmus/trace.h
+++ b/include/litmus/trace.h
@@ -32,6 +32,7 @@ feather_callback void save_timestamp(unsigned long event);
32feather_callback void save_timestamp_def(unsigned long event, unsigned long type); 32feather_callback void save_timestamp_def(unsigned long event, unsigned long type);
33feather_callback void save_timestamp_task(unsigned long event, unsigned long t_ptr); 33feather_callback void save_timestamp_task(unsigned long event, unsigned long t_ptr);
34feather_callback void save_timestamp_cpu(unsigned long event, unsigned long cpu); 34feather_callback void save_timestamp_cpu(unsigned long event, unsigned long cpu);
35feather_callback void save_task_latency(unsigned long event, unsigned long when_ptr);
35feather_callback void save_timestamp_time(unsigned long event, unsigned long time_ptr); 36feather_callback void save_timestamp_time(unsigned long event, unsigned long time_ptr);
36feather_callback void save_timestamp_irq(unsigned long event, unsigned long irq_count_ptr); 37feather_callback void save_timestamp_irq(unsigned long event, unsigned long irq_count_ptr);
37feather_callback void save_timestamp_hide_irq(unsigned long event); 38feather_callback void save_timestamp_hide_irq(unsigned long event);
@@ -48,6 +49,9 @@ feather_callback void save_timestamp_hide_irq(unsigned long event);
48#define CTIMESTAMP(id, cpu) \ 49#define CTIMESTAMP(id, cpu) \
49 ft_event1(id, save_timestamp_cpu, (unsigned long) cpu) 50 ft_event1(id, save_timestamp_cpu, (unsigned long) cpu)
50 51
52#define LTIMESTAMP(id, task) \
53 ft_event1(id, save_task_latency, (unsigned long) task)
54
51#define TIMESTAMP_TIME(id, time_ptr) \ 55#define TIMESTAMP_TIME(id, time_ptr) \
52 ft_event1(id, save_timestamp_time, (unsigned long) time_ptr) 56 ft_event1(id, save_timestamp_time, (unsigned long) time_ptr)
53 57
@@ -69,6 +73,8 @@ feather_callback void save_timestamp_hide_irq(unsigned long event);
69 73
70#define CTIMESTAMP(id, cpu) /* no tracing */ 74#define CTIMESTAMP(id, cpu) /* no tracing */
71 75
76#define LTIMESTAMP(id, when_ptr) /* no tracing */
77
72#define TIMESTAMP_TIME(id, time_ptr) /* no tracing */ 78#define TIMESTAMP_TIME(id, time_ptr) /* no tracing */
73 79
74#define TIMESTAMP_IRQ(id, irq_count_ptr) /* no tracing */ 80#define TIMESTAMP_IRQ(id, irq_count_ptr) /* no tracing */
@@ -134,4 +140,6 @@ feather_callback void save_timestamp_hide_irq(unsigned long event);
134#define TS_SEND_RESCHED_START(c) CTIMESTAMP(190, c) 140#define TS_SEND_RESCHED_START(c) CTIMESTAMP(190, c)
135#define TS_SEND_RESCHED_END TIMESTAMP_IN_IRQ(191) 141#define TS_SEND_RESCHED_END TIMESTAMP_IN_IRQ(191)
136 142
143#define TS_RELEASE_LATENCY(when) LTIMESTAMP(208, &(when))
144
137#endif /* !_SYS_TRACE_H_ */ 145#endif /* !_SYS_TRACE_H_ */