diff options
| author | 2020-08-15 15:47:56 -0700 | |
|---|---|---|
| committer | 2020-10-16 20:35:16 +0000 | |
| commit | 5ff4bb8fe1780d8132ec967938ad5e5bdff1a2ac (patch) | |
| tree | ecc81f539a042bd4c00f7923415f8cc2efbb3629 /libs/binder/IPCThreadState.cpp | |
| parent | acfe554b2a8351cea95ea4b963600ffe8e145b20 (diff) | |
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
Diffstat (limited to 'libs/binder/IPCThreadState.cpp')
0 files changed, 0 insertions, 0 deletions