Searched hist:daeea0369d17a7473953eecd6b5af4735ec12fcb (Results 1 – 1 of 1) sorted by relevance
| /optee_os/core/kernel/ |
| H A D | tee_ta_manager.c | daeea0369d17a7473953eecd6b5af4735ec12fcb 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>
|