9339952bfc64103c1a3c51d1150719d7289995b4 |
|
25-May-2018 |
Steven Moreland <smoreland@google.com> |
surfaceflinger: fix race condition surfaceflinger only has one thread. main thread is: a). startHidlServices b). do a getService c). getService receives notification on binder thread and returns d). binder ServiceManager register SF service Then, started by a). hwbinder thread is (DisplayService's, when it receives a transaction): e). binder ServiceManager get SF service ( (d) must happen first! ) Normally, (e) never happens because nothing calls into DisplayService until later. However, on a particular QCOM device (b/80061790), surfaceflinger restarts at just the right time that this sequence happens: (a) (b) (e) then (c) is blocked since (e) is on a binder thread). Test: QCOM device no longer enters this deadlock Test: boot up on Pixel device Test: (sanity) check to make sure surface flinger has one hwbinder thread Test: (sanity) make sure Pixel device surface flinger doesn't register an allocator when it isn't supposed to. As a follow-up, the return values from these various services will be checked. Bug: 80061790 Change-Id: I254d70951ee9508790c940240bcd1da5af746dd3
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
6a40853e06f5274d84b0fc66e349a36510d1497f |
|
24-Oct-2017 |
Vishnu Nair <vishnun@google.com> |
Add proto dump flag to services (1/2) Adds new PROTO flag which requests services to dump sections in proto format. Modifies dumpsys to take in proto argument and pass on proto flags to services which support proto dumps. Modify PriorityDumper helper class to parse proto arguments and set asProto flags. Bug: 67716082 Test: mmm -j56 frameworks/native/cmds/dumpsys && \ mmm -j56 frameworks/native/services/utils && \ adb sync data && \ adb shell /data/nativetest/dumpsys_test/dumpsys_test && \ adb shell /data/nativetest64/dumpsys_test/dumpsys_test && \ adb shell /data/nativetest/prioritydumper_test/prioritydumper_test && \ adb shell /data/nativetest64/prioritydumper_test/prioritydumper_test && \ printf "\n\n#### ALL TESTS PASSED ####\n" Change-Id: I42c2a6a8876efbf9a7d792d68572499b16985147
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
357988777218502ed68a56a0c8b247ba64b74721 |
|
07-Oct-2017 |
Vishnu Nair <vishnun@google.com> |
Support priority based dumpsys in surface flinger Call dump with no args when called with CRITICAL priority. Register service with support for critical priority dumps. BUG: 31774394 Test: lunch mini_emulator_x86-userdebug && make -j56 Test: adb bugreport ~/tmp.zip Test: adb shell dumpsys --priority CRITICAL Test: mmm -j32 frameworks/native/services/utils && \ adb sync data && adb shell /data/nativetest/prioritydumper_test/prioritydumper_test && \ adb shell /data/nativetest64/prioritydumper_test/prioritydumper_test && \ printf "\n\n#### ALL TESTS PASSED ####\n" Change-Id: Iec35ef8026d4d9346c83bab203bed8524c28bf89
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
91a86774805069c853edbb2adb5033ca43621497 |
|
06-Oct-2017 |
Vishnu Nair <vishnun@google.com> |
Revert "Support priority based dumpsys in surface flinger" This reverts commit deb36f24f43fdbd83c5c61d40b9a32d091ac2a37. Reason for revert: fixing git_master/mini_emulator_x86-userdebug break Change-Id: I4729bcb0f4c6ee1f388b916666a0ddbf8a5da5bd
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
deb36f24f43fdbd83c5c61d40b9a32d091ac2a37 |
|
06-Oct-2017 |
Vishnu Nair <vishnun@google.com> |
Support priority based dumpsys in surface flinger Call dump with no args when called with CRITICAL priority. Register service with support for critical priority dumps. BUG: 31774394 Test: adb bugreport ~/tmp.zip Test: adb shell dumpsys --priority CRITICAL Test: mmm -j32 frameworks/native/services/utils && \ adb sync data && adb shell /data/nativetest/prioritydumper_test/prioritydumper_test && \ adb shell /data/nativetest64/prioritydumper_test/prioritydumper_test && \ printf "\n\n#### ALL TESTS PASSED ####\n" Change-Id: I29140808493eb7c8805bfa338ab9a335154862b4
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
6ad20f7271c05bfa1e7bb4b67a8fa72f4a08756a |
|
17-May-2017 |
Steven Moreland <smoreland@google.com> |
Add displayservice. This hidl service provides information about vsync and hotplug to vendor services which is required by at least some camera hal implementations. Test: VtsFwkDisplayServiceV1_0TargetTest Bug: 38311538 Change-Id: Ifc344c11ca4b3c8cebc6f0145f506d1aa774506d
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
b278404c8766f04648b38a5f4da8872748f78a00 |
|
30-Mar-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: start grahpics allocator when requested When ISurfaceFlingerConfigs::startGraphicsAllocatorService returns true, start graphics allocator service. Bug: 36462585 Test: YouTube, Play Movies Change-Id: Iac177e96ec89465398ec3eef46208bdb817934e3
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
391ab069b114d5012b1fa0a48c9bc2b841974970 |
|
16-Feb-2017 |
Isaac Chen <ycchen@google.com> |
Removed build time variable ENABLE_CPUSETS. Use runtime check, cpuset_enabled(), instead of build time varianble usually set in BoardConfog.mk. Bug: 34726944 Test: Tested on Sailfish without cpuset mounted with cpuset mounted, but without schedtune with cpuset mounted and with schedtune Change-Id: I00153628db62abfbaa0ba75d571ba1bda0611ff3
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
acff43dca6a3c8a29f449706967d4de21c373d26 |
|
29-Jul-2016 |
Tim Murray <timmurray@google.com> |
Update SurfaceFlinger FIFO configuration. - move SurfaceFlinger main thread to prio 2 - drop EventThread from FIFO but not SFEventThread, which is still FIFO prio 1 - make DispSyncThread FIFO, prio 1 bug 30481949 Change-Id: Ifedccfbf3cf144ffad030109849a924dddae8d09
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
41a3853cea0cffede422fc2692b9c8e1674fc5eb |
|
22-Jun-2016 |
Tim Murray <timmurray@google.com> |
surfaceflinger: make critical threads SCHED_FIFO Sets the main thread, EventThread, and SFEventThread to SCHED_FIFO to minimize jitter. bug 24503801 Change-Id: I3751c00c79482842f5c0bdaec92b6cbfe62328a0
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
fc038bd8fc77998a436d43027919f4500c4291e6 |
|
27-Mar-2016 |
Jesse Hall <jessehall@google.com> |
Add service "gpu" in the SurfaceFlinger process This service will handle shell commands for querying information about the graphics hardware and driver. It currently does nothing. Most shell command services are provided by ActivityManagerService. I didn't want to put this there, because I'd rather not load graphics drivers in the system_service process (robustness, security, etc.). SurfaceFlinger is going to have them anyway, and is the only other global always-running process that makes sense for this. Change-Id: I27e451ea62b71aed01c6ececefd76d6707912eed
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
ac8d239dd7c22fc2be4e2d470b9d164c3c9285e9 |
|
10-Nov-2015 |
Tim Murray <timmurray@google.com> |
Set cpuset from surfaceflinger. SurfaceFlinger shouldn't be limited to little cores exclusively, as the binder threads should be placed on big cores when they are in the critical path for a RenderThread. bug 25745866 Change-Id: I9fb65f6d951733f91b4735ff27018411b58b2bfb
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
0944691d68089c17d71641a55192fb2fe755ec92 |
|
28-Aug-2015 |
Young-Ho Cha <ganadist@gmail.com> |
ignore SIGPIPE signal in native services When run dump method via dumpsys command with invalid pipe fd, native services can crash with SIGPIPE. So ignore SIGPIPE signal. Bug: https://code.google.com/p/android/issues/detail?id=184099 Change-Id: Icb15e0dff34a245c08c1b4c4bed51992ae382da4 Signed-off-by: Young-Ho Cha <ganadist@gmail.com>
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
8fb2d25ff3e9ade7c03ebe52a89c671ee75ce484 |
|
27-Jan-2015 |
Yabin Cui <yabinc@google.com> |
Kill HAVE_PTHREADS. Bug: 19083585 Change-Id: I355491de945590f43c82bdcb7968b01b4bff6e06
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
c751e92c56de5f335a36e68607c7a6c627dcd0dc |
|
08-May-2014 |
Andy McFadden <fadden@android.com> |
Add "dumpsys SurfaceFlinger --dispsync" Dumps the current DispSync state. Bug 14651879 Change-Id: Ide4e6dbd58b117bc1a6b97b57d10cd92ec86dc84
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
9414d67f46d315873502b909ee51bab7abf3f9cc |
|
24-Aug-2013 |
Mathias Agopian <mathias@google.com> |
make sure SF initialization is ran at target priority and correct thread group SF can spawn threads (indirectly) during initialization and we want those to be spawned at URGENT_DISPLAY_PRIORITY (in theory they should set their own, but some code lives in vendor libraries and doesn't). Bug: 10430209 Change-Id: I5b3a8f979297de287614c8eafd8267bef1176e4b
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
4f4f0943489d9113c66ac22b58cfba8c21dfa879 |
|
20-Aug-2013 |
Mathias Agopian <mathias@google.com> |
SurfaceFlinger now runs in the process's main thread it used to spawn its own thread and return the main thread to the binder thread pool -- this was confusing the naming of things in the kernel. Bug: 10331839 Change-Id: I2d13a6d73409a38109300fcbe6a04b4c41cb5d00
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|
7ffaa7c60d51cc0eb731158de2ac3df9c50cc0b4 |
|
22-Jul-2013 |
Mathias Agopian <mathias@google.com> |
move services executables sources in their respective src folder Change-Id: Ic65434a26c7fed1699abf0851fec6faa40e09c0c
/frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp
|