diff options
author | Hridya Valsaraju <hridya@google.com> | 2017-03-03 14:10:04 -0800 |
---|---|---|
committer | Hridya Valsaraju <hridya@google.com> | 2017-03-03 14:10:29 -0800 |
commit | 00478098048bd5b8ae7443814f561ed6e0b3812a (patch) | |
tree | 23666e4f7af1cac7f16d04b89c851f4cdb2ee357 /tests | |
parent | 5a0706d42953c6feffa97a9a7b928a212693b1ab (diff) | |
download | platform_hardware_interfaces-00478098048bd5b8ae7443814f561ed6e0b3812a.tar.gz platform_hardware_interfaces-00478098048bd5b8ae7443814f561ed6e0b3812a.tar.bz2 platform_hardware_interfaces-00478098048bd5b8ae7443814f561ed6e0b3812a.zip |
Revert "Revert "Move android.hardware.benchmarks into android.hardware.tests""
Test: built and ran FMQ benchmarks
This reverts commit 8b34b1a547af33b7ae3b3a4013deb089c949a60b.
Change-Id: I7d8884b9de97980b5bdb7a4355a61b00bbd396b4
Diffstat (limited to 'tests')
-rw-r--r-- | tests/msgq/1.0/Android.bp | 7 | ||||
-rw-r--r-- | tests/msgq/1.0/IBenchmarkMsgQ.hal | 79 |
2 files changed, 86 insertions, 0 deletions
diff --git a/tests/msgq/1.0/Android.bp b/tests/msgq/1.0/Android.bp index d17efe469e..2d426990d9 100644 --- a/tests/msgq/1.0/Android.bp +++ b/tests/msgq/1.0/Android.bp @@ -3,6 +3,7 @@ filegroup { name: "android.hardware.tests.msgq@1.0_hal", srcs: [ + "IBenchmarkMsgQ.hal", "ITestMsgQ.hal", ], } @@ -15,6 +16,7 @@ genrule { ":android.hardware.tests.msgq@1.0_hal", ], out: [ + "android/hardware/tests/msgq/1.0/BenchmarkMsgQAll.cpp", "android/hardware/tests/msgq/1.0/TestMsgQAll.cpp", ], } @@ -27,6 +29,11 @@ genrule { ":android.hardware.tests.msgq@1.0_hal", ], out: [ + "android/hardware/tests/msgq/1.0/IBenchmarkMsgQ.h", + "android/hardware/tests/msgq/1.0/IHwBenchmarkMsgQ.h", + "android/hardware/tests/msgq/1.0/BnHwBenchmarkMsgQ.h", + "android/hardware/tests/msgq/1.0/BpHwBenchmarkMsgQ.h", + "android/hardware/tests/msgq/1.0/BsBenchmarkMsgQ.h", "android/hardware/tests/msgq/1.0/ITestMsgQ.h", "android/hardware/tests/msgq/1.0/IHwTestMsgQ.h", "android/hardware/tests/msgq/1.0/BnHwTestMsgQ.h", diff --git a/tests/msgq/1.0/IBenchmarkMsgQ.hal b/tests/msgq/1.0/IBenchmarkMsgQ.hal new file mode 100644 index 0000000000..81754a40f1 --- /dev/null +++ b/tests/msgq/1.0/IBenchmarkMsgQ.hal @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.tests.msgq@1.0; + +interface IBenchmarkMsgQ { + /* + * This method requests the service to set up Synchronous read/write + * wait-free FMQ with the client as reader. + * @return ret Will be true if the setup was successful, false otherwise. + * @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(bool ret, fmq_sync<uint8_t> mqDescIn); + + /* + * This method requests the service to set up Synchronous read/write + * wait-free FMQ with the client as writer. + * @return ret Will be true if the setup was successful, false otherwise. + * @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(bool ret, fmq_sync<uint8_t> mqDescOut); + + /* + * This method request the service to write into the FMQ. + * @param count Number to messages to write. + * @return ret Will be true if the write operation was successful, + * false otherwise. + */ + requestWrite(int32_t count) generates (bool ret); + + /* + * This method request the service to read from the FMQ. + * @param count Number to messages to read. + * @ret Will be true if the read operation was successful, false otherwise. + */ + requestRead(int32_t count) generates (bool 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); +}; |