summaryrefslogtreecommitdiffstats
path: root/benchmarks
diff options
context:
space:
mode:
authorHridya Valsaraju <hridya@google.com>2016-09-21 17:47:06 -0700
committerHridya Valsaraju <hridya@google.com>2016-09-27 22:22:19 +0000
commit9d9672cce2847ca8a819aa61453e07790ff26d87 (patch)
tree2407889717b3faa4ce1f1e9f15c412d0df146358 /benchmarks
parentb0b5322e7df9bd91d439fb870b4c4358053b7aac (diff)
downloadplatform_hardware_interfaces-9d9672cce2847ca8a819aa61453e07790ff26d87.tar.gz
platform_hardware_interfaces-9d9672cce2847ca8a819aa61453e07790ff26d87.tar.bz2
platform_hardware_interfaces-9d9672cce2847ca8a819aa61453e07790ff26d87.zip
Use MQDescriptorSync instead of MQdescriptor in interface
Add comments and cleanup code as per HIDL style guidelines. Bug: 31550963 Test: Built and ran existing FMQ unit tests and benchmarks. Change-Id: I0a09ba1fcb520b46e5e6299b473c962c93d815eb
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);
};