Implement Secure Storage Benchmarks
Access is performed chunk by chunk, default chunk size is 1KB.
If remained data size is less then a chunk (e.g. data size
is not a multiple of trunk size), chunk will be modified to
remained data size.
Tested on MediaTek MT8173 EVB, result as follows:
WRITE:
-----------------+---------------+----------------
Data Size (B) | Time (s) | Speed (kB/s)
-----------------+---------------+----------------
256 | 0.006 | 41.667
512 | 0.008 | 62.500
1024 | 0.011 | 90.909
2048 | 0.034 | 58.824
4096 | 0.144 | 27.778
16384 | 0.577 | 27.730
524288 | 18.519 | 27.647
1048576 | 37.030 | 27.653
-----------------+---------------+----------------
READ:
-----------------+---------------+----------------
Data Size (B) | Time (s) | Speed (kB/s)
-----------------+---------------+----------------
256 | 0.014 | 17.857
512 | 0.013 | 38.462
1024 | 0.014 | 71.429
2048 | 0.027 | 74.074
4096 | 0.068 | 58.824
16384 | 0.271 | 59.041
524288 | 8.683 | 58.966
1048576 | 17.372 | 58.945
-----------------+---------------+----------------
REWRITE: (Read-Modify-Write)
-----------------+---------------+----------------
Data Size (B) | Time (s) | Speed (kB/s)
-----------------+---------------+----------------
256 | 0.047 | 5.319
512 | 0.047 | 10.638
1024 | 0.047 | 21.277
2048 | 0.094 | 21.277
4096 | 0.230 | 17.391
16384 | 0.921 | 17.372
524288 | 29.469 | 17.374
1048576 | 58.925 | 17.378
-----------------+---------------+----------------
Signed-off-by: SY Chiu <sy.chiu@linaro.org>
Signed-off-by: James Kung <james.kung@linaro.org>
Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU, MT8173 EVB)
Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU)
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
diff --git a/host/xtest/xtest_test.c b/host/xtest/xtest_test.c
index 28603e9..88c944f 100644
--- a/host/xtest/xtest_test.c
+++ b/host/xtest/xtest_test.c
@@ -21,7 +21,7 @@
#include <ta_storage.h>
#include <ta_concurrent.h>
#include <enc_fs_key_manager_test.h>
-#include <ta_bonnie.h>
+#include <ta_storage_benchmark.h>
#include <tee_api_defines.h>
#ifdef WITH_GP_TESTS
#include <tee_api_types.h>
@@ -81,7 +81,7 @@
const TEEC_UUID storage_ta_uuid = TA_STORAGE_UUID;
const TEEC_UUID enc_fs_key_manager_test_ta_uuid = ENC_FS_KEY_MANAGER_TEST_UUID;
const TEEC_UUID concurrent_ta_uuid = TA_CONCURRENT_UUID;
-const TEEC_UUID bonnie_ta_uuid = TA_BONNIE_UUID;
+const TEEC_UUID storage_benchmark_ta_uuid = TA_STORAGE_BENCHMARK_UUID;
#ifdef WITH_GP_TESTS
const TEEC_UUID gp_tta_ds_uuid = TA_TTA_DS_UUID;
#endif