diff options
author | Hridya Valsaraju <hridya@google.com> | 2016-09-21 17:47:06 -0700 |
---|---|---|
committer | Hridya Valsaraju <hridya@google.com> | 2016-09-27 22:22:19 +0000 |
commit | 9d9672cce2847ca8a819aa61453e07790ff26d87 (patch) | |
tree | 2407889717b3faa4ce1f1e9f15c412d0df146358 /benchmarks | |
parent | b0b5322e7df9bd91d439fb870b4c4358053b7aac (diff) | |
download | platform_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.hal | 65 |
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); }; |