linaro-swg / optee_benchmark

OP-TEE Latency benchmark application
Other
5 stars 21 forks source link

OP-TEE benchmark: initial benchmark app #1

Closed igoropaniuk closed 7 years ago

igoropaniuk commented 7 years ago

Related PRs:

Benchmark app: https://github.com/linaro-swg/optee_benchmark/pull/1

Changes in OP-TEE https://github.com/linaro-swg/linux/pull/38 https://github.com/OP-TEE/build/pull/124 https://github.com/OP-TEE/optee_os/pull/1365 https://github.com/OP-TEE/optee_client/pull/79

Dedicated repo manifest (for testing):

repo init -u https://github.com/igoropaniuk/manifest.git -m qemu_v7_benchmark.xml -b benchmark

Invocation:

# benchmark client_app [client_app params]

Example:

# benchmark ./xtest 1001

Signed-off-by: Igor Opaniuk igor.opaniuk@linaro.org

igoropaniuk commented 7 years ago

@etienne-lms @jenswi-linaro Could check please also this PR, it includes almost 40-50% of the functionality. Thanks

igoropaniuk commented 7 years ago

Maybe the benchmark tool could also enable benchmark and sleep until it is killed. Launching benchmark --enable would allow benchmarking already running CAs and TAs.

@etienne-lms Good idea, why not. Anyway, an app collects system-wide timestamps in both cases

etienne-lms commented 7 years ago

Don't it be hard to find which timestamp belong to which TEE session ? Adding a session ID to stamps could even help filtering out sessions for which no time-stamping is requested.

igoropaniuk commented 7 years ago

Don't it be hard to find which timestamp belong to which TEE session ? Adding a session ID to stamps could even help filtering out sessions for which no time-stamping is requested.

@etienne-lms Now we have a pretty generic bm_timestamp implementation, which can be theoretically called within anywhere in OP-TEE OS, Linux kernel, and optee_client, and not only in functions, that are related to InvokeCommand/OpenSession calls.

In the future, I plan to add ability to attach some payload to each timestamp, which can be TEE_Session id, whatever.

igoropaniuk commented 7 years ago

@etienne-lms

Maybe the benchmark tool could also enable benchmark and sleep until it is killed. Launching benchmark --enable would allow benchmarking already running CAs and TAs.

I thinks maybe let's add it in future PRs?

jbech-linaro commented 7 years ago

Maybe the benchmark tool could also enable benchmark and sleep until it is killed. Launching benchmark --enable would allow benchmarking already running CAs and TAs. I thinks maybe let's add it in future PRs?

Agreed! Let's try to get the main patches merged so that we can start working with smaller and more well defined tasks.

etienne-lms commented 7 years ago

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

igoropaniuk commented 7 years ago

Tags applied, ready for merge

igoropaniuk commented 7 years ago

Merged