Home
last modified time | relevance | path

Searched hist:daeea0369d17a7473953eecd6b5af4735ec12fcb (Results 1 – 1 of 1) sorted by relevance

/optee_os/core/kernel/
H A Dtee_ta_manager.cdaeea0369d17a7473953eecd6b5af4735ec12fcb Fri Nov 03 16:27:05 UTC 2017 Jerome Forissier <jerome.forissier@linaro.org> Add CFG_CONCURRENT_SINGLE_INSTANCE_TA

Commit 2b07dcb97c5e ("core: avoid deadlocks caused by single-instance
TA") introduces a lock that allows only one single instance TA to be
executing at any time. While it does address the risk of deadlock that
can arise when several single instance TAs call each other, it also
puts a serious performance limitation on multi-core platforms, which
could otherwise execute several unrelated single instance TAs
simultaneously.

This commit makes the single instance lock optional. By setting
CFG_CONCURRENT_SINGLE_INSTANCE_TA=y, the lock is disabled and TAs are
allowed to run concurrently. In the future, we may implement a deadlock
detection algorithm; in the meantime, this simple solution should be
enough to cover the current use cases.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960)
CC: Zeng Tao <prime.zeng@hisilicon.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>