Display Thread Priority
This page provides information regarding the thread priority values that are used by the threads in NvDisplay and NvDisplaySerializer.
NvDisplay and NvDisplaySerializer have various mechanisms for safety. To ensure the timely completion of tasks, both NvDisplay and NvDisplaySerializer use higher than default thread priorities.
- DRIVE OS Thread Priority Guidelines provides a generic range of thread
priorities that can be used by resource managers. Priority ranges are dependent
on the purpose of the thread. For NvDisplay and Serializer, these are the
relevant thread priority ranges:
-
Safety related interrupt thread priority allowed range: [26 - 30]
-
Safety related fixed thread priority: allowed range: [21 - 25]
-
- RVC Thread Priority Guidelines to set high thread priority values during INIT_DONE state. RVC application guidelines require the priority to be 35 when in INIT_DONE state.
To satisfy these two requirements, NvDisplay and Serializer driver set the priority of all the threads to 35 before reaching INIT_DONE. Once you get the OPERATIONAL callback, the priorities of the threads are dropped corresponding to DRIVE OS guidelines.
Currently, NvDisplay has four (4) threads and NvDisplaySerializer has two (2) threads. The following table documents the thread priority values used.
NvDisplay | ||
---|---|---|
Thread Name | Priority in INIT_DONE | Priority in OPERATIONAL |
Display HW interrupt handling thread | 35 | 27 |
RM Deferred work thread used for SV deferred work | 35 | 23 |
Timer event thread used for FF detection | 35 | 30 |
NVDVMS thread for state management | 35 | 23 |
NvDisplaySerializer | ||
---|---|---|
Thread Name | Priority in INIT_DONE | Priority in OPERATIONAL |
GRIO ERRB thread | 35 | 30 |
NVDVMS thread for state management | 35 | 23 |