summaryrefslogtreecommitdiffstats
path: root/benchmarks
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/msgq/1.0/IBenchmarkMsgQ.hal65
1 files changed, 58 insertions, 7 deletions
diff --git a/benchmarks/msgq/1.0/IBenchmarkMsgQ.hal b/benchmarks/msgq/1.0/IBenchmarkMsgQ.hal
index a3ed72b71a..2e503359cd 100644
--- a/benchmarks/msgq/1.0/IBenchmarkMsgQ.hal
+++ b/benchmarks/msgq/1.0/IBenchmarkMsgQ.hal
@@ -17,11 +17,62 @@
package android.hardware.benchmarks.msgq@1.0;
interface IBenchmarkMsgQ {
- ConfigureClientInbox() generates (int32_t ret, MQDescriptor mq_desc_in );
- ConfigureClientOutbox() generates ( int32_t ret, MQDescriptor mq_desc_out );
- RequestWrite (int32_t count) generates (int32_t ret);
- RequestRead(int32_t count) generates (int32_t ret);
- BenchmarkPingPong(uint32_t numIter);
- BenchmarkServiceWriteClientRead(uint32_t numIter);
- SendTimeData(vec<int64_t> time_data);
+ /*
+ * This method requests the service to set up Synchronous read/write
+ * wait-free FMQ with the client as reader.
+ * @return ret Will be 0 if the setup is successful.
+ * @return mqDescIn This structure describes the FMQ that was set up
+ * by the service. Client can use it to set up the FMQ at its end.
+ */
+ configureClientInboxSyncReadWrite()
+ generates(int32_t ret, MQDescriptorSync mqDescIn);
+
+ /*
+ * This method requests the service to set up Synchronous read/write
+ * wait-free FMQ with the client as writer.
+ * @return Will be 0 if the setup is successful.
+ * @return mqDescOut This structure describes the FMQ that was set up
+ * by the service. Client can use it to set up the FMQ at its end.
+ */
+ configureClientOutboxSyncReadWrite()
+ generates(int32_t ret, MQDescriptorSync mqDescOut);
+
+ /*
+ * This method request the service to write into the FMQ.
+ * @param count Number to messages to write.
+ * @ret Number of messages succesfully written.
+ */
+ requestWrite(int32_t count) generates (int32_t ret);
+
+ /*
+ * This method request the service to read from the FMQ.
+ * @param count Number to messages to read.
+ * @ret Number of messages succesfully read.
+ */
+ requestRead(int32_t count) generates (int32_t ret);
+
+ /*
+ * This method kicks off a benchmarking experiment where
+ * the client writes a message into its outbox FMQ,
+ * the service reads it and writes it into the client's
+ * inbox FMQ and the client reads the message.
+ * The average time taken for the experiment is measured.
+ * @param numIter The number of iterations to run the experiment.
+ */
+ benchmarkPingPong(uint32_t numIter);
+
+ /*
+ * This method kicks off a benchmarking experiment where
+ * the service writes into an FMQ and the client reads the same.
+ * @param numIter The number of iterations to run the experiment.
+ */
+ benchmarkServiceWriteClientRead(uint32_t numIter);
+
+ /*
+ * This method sends a vector of time duration(in ns).
+ * @param timeData vector of time instants measured by client.
+ * Each entry is the number of ns between the epoch and a
+ * std::chrono::time_point.
+ */
+ sendTimeData(vec<int64_t> timeData);
};