gpu: nvgpu: Update CTXSW_TIMEOUT to 10ms

The current value of CTXSW_TIMEOUT (100ms) is too large and does not
meet the FTTI budget of 100ms. Update the value to 10 ms -
1. It seems well within FTTI - with some budget for recovery if
   needed. The WCET for recovery is around 55ms.
2. It can be easily updated if needed later

Change-Id: If2ea3664c92d7426d1543d15614723e38b63aabd
Signed-off-by: Tejal Kudav <tkudav@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2672872
Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
GVS: Gerrit_Virtual_Submit
This commit is contained in:
Tejal Kudav
2022-02-21 02:47:16 +00:00
committed by mobile promotions
parent 3fe70bf86e
commit 70b987dcf1

View File

@@ -216,10 +216,21 @@
*/ */
#define INVAL_ID (~U32(0U)) #define INVAL_ID (~U32(0U))
/** /**
* Timeout after which ctxsw timeout interrupt (if enabled by s/w) will be * Timeout after which ctxsw timeout interrupt (if enabled by s/w)
* triggered by h/w if context fails to context switch. * will be triggered by h/w if context fails to context switch.
* Typical ctxsw times should be in order of tens or hundreds of
* microseconds at least in Auto usecase with no vGPU etc. This is
* an assumption as we do not value data from HW on typical CTXSW times.
* For safety, we have FTTI budget of 100 ms. FTTI should include the
* diagnostic interrupt latency, and SW “fix” (timeout action may
* include recovery). The WCET for recovery is around 55ms.
* So, CTXSW timeout value should be somewhere in between hundreds of
* microseconds to 45 ms.
* Chooe CTXSW_TIMEOUT value to be 10ms -
* 1. It seems well within FTTI (with some budget for recovery if needed)
* 2. It can be easily updated if needed later.
*/ */
#define CTXSW_TIMEOUT_PERIOD_MS 100U #define CTXSW_TIMEOUT_PERIOD_MS 10U
/** Subctx id 0 */ /** Subctx id 0 */
#define CHANNEL_INFO_VEID0 0U #define CHANNEL_INFO_VEID0 0U