MVP task gets higher preference for CPU allocation as compared to normal
CFS tasks, in order to avoid starvation of normal CFS tasks each MVP
task is allowed to run for max. 12msec(with 4msec slices).
In situations where multiple MVP tasks are queued on a CPU or multiple
MVP tasks sleeping/waking continuously then they will continue to share
CPU among themselves and starve other normal CFS tasks.
Handle above CFS starvation, by implementing MVP throttling support,
where if total time spent in running MVP tasks crosses a threshold
then treat MVP tasks as normal CFS tasks for a period thus giving
normal CFS task an opportunity to get CPU resource.
Change-Id: I3ba7e692f4da61729364a3a042e1ec0e82676b33
Signed-off-by: Ashay Jaiswal <quic_ashayj@quicinc.com>