diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2014-03-20 05:55:02 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2016-03-08 10:12:48 -0500 |
commit | 4fb320b47187343c44be8fd01387fd57241e6a86 (patch) | |
tree | 4269a04e247314bf527b6ba0731f77b01efcd014 /litmus | |
parent | 11e71127c200008ec7b904ed9c74c7870efa3849 (diff) |
Feather-Trace: Add macros for message-passing timestamps
Add timestamp tracing macros that reverse on which cores the
timestamps are recorded. This intended to reduce tracing contention if
some cores receive a lot of messages.
These macros are useful for plugins based on message-passing such as
the (non-mainline) G-EDF-MP.
Diffstat (limited to 'litmus')
-rw-r--r-- | litmus/trace.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/litmus/trace.c b/litmus/trace.c index 330d1e8240be..99846039286e 100644 --- a/litmus/trace.c +++ b/litmus/trace.c | |||
@@ -270,18 +270,31 @@ feather_callback void save_cpu_task_latency(unsigned long event, | |||
270 | now - *when, DO_NOT_RECORD_TIMESTAMP); | 270 | now - *when, DO_NOT_RECORD_TIMESTAMP); |
271 | } | 271 | } |
272 | 272 | ||
273 | feather_callback void msg_sent(unsigned long event, unsigned long to) | 273 | /* Record to remote trace buffer */ |
274 | feather_callback void msg_sent_to(unsigned long event, unsigned long to) | ||
274 | { | 275 | { |
275 | save_remote_msg_timestamp(event, to); | 276 | save_remote_msg_timestamp(event, to); |
276 | } | 277 | } |
277 | 278 | ||
279 | /* Record to local trace buffer */ | ||
280 | feather_callback void msg_sent_local(unsigned long event) | ||
281 | { | ||
282 | save_msg_timestamp(event, 0); | ||
283 | } | ||
284 | |||
278 | /* Suppresses one IRQ from the irq count. Used by TS_SEND_RESCHED_END, which is | 285 | /* Suppresses one IRQ from the irq count. Used by TS_SEND_RESCHED_END, which is |
279 | * called from within an interrupt that is expected. */ | 286 | * called from within an interrupt that is expected. */ |
280 | feather_callback void msg_received(unsigned long event) | 287 | feather_callback void msg_received_local(unsigned long event) |
281 | { | 288 | { |
282 | save_msg_timestamp(event, 1); | 289 | save_msg_timestamp(event, 1); |
283 | } | 290 | } |
284 | 291 | ||
292 | /* Record to remote trace buffer */ | ||
293 | feather_callback void msg_received_from(unsigned long event, unsigned long from) | ||
294 | { | ||
295 | save_remote_msg_timestamp(event, from); | ||
296 | } | ||
297 | |||
285 | static void __add_timestamp_user(struct timestamp *pre_recorded) | 298 | static void __add_timestamp_user(struct timestamp *pre_recorded) |
286 | { | 299 | { |
287 | unsigned long flags; | 300 | unsigned long flags; |