summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/cs-trace-disasm.py
diff options
context:
space:
mode:
authorGuchun Chen <guchunc@codeaurora.org>2017-06-29 14:15:04 +0800
committerGuchun Chen <guchunc@codeaurora.org>2017-08-08 16:31:37 +0800
commitb2278c42ae5241b3cdb3dc3ead107dd550c48b1a (patch)
tree8aeced561e266a080a11bfaf4881fc830ccfff80 /tools/perf/scripts/python/cs-trace-disasm.py
parent58274ed8f17d7f826283d19c305fb7d85beecb3e (diff)
msm: sde: fix page freeing error when handing off early display
Sometimes, after user space is up and starts the handoff for early animation/display, page freeing error happens like below. The error happens in a very small possibility, but will lead to device rebooting. Call trace: dump_backtrace+0x0/0x1b8 show_stack+0x14/0x1c dump_stack+0xa8/0xe0 bad_page+0xf0/0x118 free_pages_prepare+0x100/0x2cc free_hot_cold_page+0x38/0x1a0 __free_pages+0x34/0x48 _sde_splash_free_bootup_memory_to_system+0x78/0x9c sde_splash_clean_up_free_resource+0xbc/0x1f0 sde_crtc_complete_commit+0x114/0x14c sde_kms_complete_commit+0x50/0x98 complete_commit+0x684/0x6b0 _msm_drm_commit_work_cb+0x30/0x38 kthread_worker_fn+0xcc/0x170 kthread+0xf8/0x100 ret_from_fork+0x10/0x20 The issue is caused by race competition. In async commit mode, the first is, mutex lock should be involved to ensure the member of splash_info structure can be protected to read/write in multiple threads. And the second is, 2 DSI connectors are available in kernel, and the coming sequent commits may happen on one DSI or on two DSI respectively. Because DSI interfaces shares the same resource in LK, if the consecutive commits are for one DSI, DSI resources could not be released, as another DSI is still visiting and using these resources. So till confirming the commits for different DSIs have been done, it's safe to release DSI resource. Change-Id: Ie6386e3e58d5320cd4e2caab9a07b4e659eb8780 Signed-off-by: Guchun Chen <guchunc@codeaurora.org> Signed-off-by: Yujun Zhang <yujunzhang@codeaurora.org>
Diffstat (limited to 'tools/perf/scripts/python/cs-trace-disasm.py')
0 files changed, 0 insertions, 0 deletions