如何分析 kgsl 跟踪日志中的 GPU 性能问题?

请叫我攻城狮hh 2022-10-12 13:46:42

如何分析 kgsl 跟踪日志中的 GPU 性能问题? 

...全文
18 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38498942 2022-10-13
  • 打赏
  • 举报
回复

运行 adreno 测试时捕获以下 kgsl 跟踪日志

comm.adrenotest-4799 [000] ...2 8013.650847: adreno_cmdbatch_queued: ctx=15 ctx_prio=8 ts=0 queued=1 flags=SYNC
comm.adrenotest-4799 [000] ...2 8013.650855: dispatch_queue_context: ctx=15 priority=8
comm.adrenotest-4799 [000] ...2 8013.651217: adreno_cmdbatch_queued: ctx=15 ctx_prio=8 ts=5194 queued=2 flags=
CTX_SWITCH|EOF
comm.adrenotest-4799 [000] ...1 8013.651597: kgsl_register_event: ctx=15 ts=5194 cb=kgsl_fence_event_cb+0x0/0x58
mdss_fb0-4787 [001] ...1 8013.653676: syncpoint_fence_expire: ctx=15 fence=com.qualcomm.adrenotest/andr:2
kworker/u8:2-4612 [000] ...1 8013.655841: kgsl_clk: d_name=kgsl-3d0 flag=on active_freq=125000000
kworker/u8:2-4612 [000] ...1 8013.658391: adreno_cmdbatch_submitted: ctx=15 ctx_prio=8 ts=5194 inflight=1 flags=
CTX_SWITCH|EOF ticks=175146040 time=8013.658313 rb_id=2 r/w=7b8/7f4, q_inflight=1

可以关注kgsl事件,adreno_cmdbatch_queued, adreno_cmdbatch_submitted等
我们可以看到 cmdbatch 的确切排队时间(8013.651217),使用 ctx 和 ts 来识别一个 cmdbatch。 cmdbatch 从 adreno 用户模式驱动程序发送到 kgsl 驱动程序,添加到上下文的 cmdbatch 队列中,并等待调度程序调度提交给 GPU 执行。
我们可以看到调度程序向GPU提交cmdbatch的确切时间(8013.658391),使用ctx和ts来识别一个cmdbatch。 cmdbatch 提交到 GPU Ringbuffer,等待 GPU HW 执行。
这里我们仍然可以看到另一个参数ticks=175146040,这意味着提交cmdbatch时GPU的ticks value,它是从GPU内部读取的,总是在profile counter上。

相关推荐
发帖
Qualcomm开发

700

社区成员

为移动开发者提供丰富的解决方案、全面的技术下载。本版以游戏、多媒体、高效能等三个技术为核心,为开发者营造一个轻松、高效的学习交流平台。
社区管理员
  • Qualcomm开发
  • 霍大神
加入社区
帖子事件
创建了帖子
2022-10-12 13:46
社区公告
暂无公告