summaryrefslogtreecommitdiffstats
path: root/testsuites/rhealstone/rhmlatency/rhmlatency.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/rhealstone/rhmlatency/rhmlatency.adoc')
-rw-r--r--testsuites/rhealstone/rhmlatency/rhmlatency.adoc22
1 files changed, 22 insertions, 0 deletions
diff --git a/testsuites/rhealstone/rhmlatency/rhmlatency.adoc b/testsuites/rhealstone/rhmlatency/rhmlatency.adoc
new file mode 100644
index 0000000000..fd445ca3ff
--- /dev/null
+++ b/testsuites/rhealstone/rhmlatency/rhmlatency.adoc
@@ -0,0 +1,22 @@
+= Message Latency Benchmark
+
+This benchmark measures the intertask message latency. This is the delay within
+RTEMS between a running task using the rtems_message_queue to send a message to
+a waiting task and that task waking up and receiving the message.
+
+== Directives
+
+ * rtems_message_queue_send
+ * rtems_message_queue_receive
+
+
+== Methodology
+
+This benchmark consists of a high priority task and a low priority task. The
+benchmark starts in the high priority task, which blocks on a call to rtems_
+message_queue recieve. By accounting for the overhead of the task switch from
+the high priority task to the low priority task, and the actual time to recieve
+the message, the intertask message latency is found.
+
+The average is found and the overhead (the time of the first run) is subtracted
+out in the call to put_time.