Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 5ff4bb8f authored by Ady Abraham's avatar Ady Abraham
Browse files

SurfaceFlinger: use TFD_TIMER_ABSTIME for VSP timer

Using the semantics of alarmIn in VSP timer may lead to lag
if the thread is getting preempted. For example:
Time 0: t1 calls to alarmIn(5)
 -- t1 gets preempted for 2ms --
Time 2: t1 calls to timerfd_settime(5)
Time 7: timer wakes up t1, results in 2ms lag

Switching to alarmAt semantics and using TFD_TIMER_ABSTIME to
schedule the timer solves this problem:
Time 0: t1 calls to alarmAt(5)
 -- t1 gets preempted for 2ms --
Time 2: t1 calls to timerfd_settime(5)
Time 5: timer wakes up t1

Bug: 159884130
Test: bouncy ball with simulated scheduling delays

Change-Id: I3d727530c2dd47c1a8d1d6a66114d654d7261d87
Merged-In: I3d727530c2dd47c1a8d1d6a66114d654d7261d87
parent acfe554b
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment