SF: handle long waiting Layer sync point

When Layer transaction deferred
it wait for barrier layer's specific frame.

When the target frame is delayed for a long time, e.g. 5 min
the deferred transaction layer may queue up in mPendingStates,
may up to 20000 in real case.

When the target frame come, it will loop through mPendingStates
and call popPendingState with mPendingStates.removeAt(0);
which is an inefficient operator for Vector, which cause SWT.

Change to use std::deque for mPendingStates & mPendingStatesSnapshot
Add sync point timeout debug log.

Bug: 170690571
Test: boot up
Test: LayerUpdateTest
Test: setting pages in/out

Change-Id: I17f3751836574c3691c7e5a1e6d2ea6c3fcd3903
2 files changed