Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trace32 has ability to show inline call in callstack #49

Open
zhaoqianli0202 opened this issue Mar 4, 2020 · 0 comments
Open

Trace32 has ability to show inline call in callstack #49

zhaoqianli0202 opened this issue Mar 4, 2020 · 0 comments

Comments

@zhaoqianli0202
Copy link

zhaoqianli0202 commented Mar 4, 2020

Hi
I found Trace32 can show inline calling,but crash-utility couldn't do it,i use same ramdump and O2 optimization do the test,it's very useful feature,but i don't understand why trace32 can parse inline call,does any expert understand this technology or method?

kconfig:
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y

Trace32 stackframe:
1 -000|queued_write_lock_slowpath(?)
2 -001|queued_write_lock(inline)
3 -001|__raw_write_lock_irq(inline)
4 -001|raw_write_lock_irq(?)
5 -002|mhi_pm_m0_transition(mhi_cntrl = 0xFFFFFFF9AFA86C00)
6 -003|mhi_pm_fast_resume(mhi_cntrl = 0xFFFFFFF9AFA86C00, ?)
7 -004|mhi_runtime_resume(?)
8 -005|pci_pm_runtime_resume(dev = 0xFFFFFFF9903C6098)
9 -006|__rpm_callback(cb = 0xFFFFFF99C4390608, dev = 0xFFFFFFF9903C6098)
10 -007|memalloc_noio_restore(inline)
11 -007|rpm_callback(inline)
12 -007|rpm_resume(dev = 0xFFFFFFF9903C6098, ?)
13 -008|pm_runtime_work(work = 0xFFFFFFF9903C61E0)
14 -009|__read_once_size(inline)
15 -009|static_key_count(inline)
16 -009|static_key_false(inline)
17 -009|trace_workqueue_execute_end(inline)
18 -009|process_one_work(worker = 0xFFFFFFF9027FD700, work = 0xFFFFFFF9903C61E0)
19 -010|__read_once_size(inline)
20 -010|list_empty(inline)
21 -010|worker_thread(__worker = 0xFFFFFFF9027FD700)
22 -011|kthread(_create = 0xFFFFFFF84719A780)
23 -012|ret_from_fork(asm)
24 ---|end of frame

crash> bt fffffff9025c0000
PID: 14537 TASK: fffffff9025c0000 CPU: 2 COMMAND: "kworker/2:3"
#0 [ffffff8025983b90] queued_write_lock_slowpath at ffffff99c3f400e8
#1 [ffffff8025983ba0] _raw_write_lock_irq at ffffff99c524b9f8
#2 [ffffff8025983be0] mhi_pm_m0_transition at ffffff99c4337c84
#3 [ffffff8025983c10] mhi_pm_fast_resume at ffffff99c433b2bc
#4 [ffffff8025983c40] mhi_runtime_resume at ffffff99c433fe80
#5 [ffffff8025983c70] pci_pm_runtime_resume at ffffff99c43906a8
#6 [ffffff8025983cd0] __rpm_callback at ffffff99c45aaeac
#7 [ffffff8025983d70] rpm_resume at ffffff99c45a98f0
#8 [ffffff8025983d90] pm_runtime_work at ffffff99c45aa638
#9 [ffffff8025983de0] process_one_work at ffffff99c3ed8f08
#10 [ffffff8025983e50] worker_thread at ffffff99c3ed9460
#11 [ffffff8025983eb0] kthread at ffffff99c3edf204

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant