- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
HI, all. I use vtune to get the applicatin call stack between the kernel module , and see the call stack with the “function/call stack”
i found that the call stack can't be tracked between two module. the call stack will be split to two call stacks.
configuration:
CPU:Intel E5504 2.0G
OS: Suse 11 Sp1
GCC: (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] CC: (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Executing thread has user mode and kernel mode stacks.I suppose that kernel mode stack will not be a much of interest to you unless you would like to track call chain for example of printf function.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
i have several kernel modules,and they create several kernel thread,the thread get data from other driver. so,my all stack is kernel mode stack.for some reasons,the stack can't from one kernel module. now ,the vtune can't get the call stack between two kernel module
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please check if your interest of kernel module has symbol info?
I suppose that you used advanced-hotspots analysis, such as -
amlpxe-cl -collect advance-hotspots -knob collection-detail=stack-sampling -- application
Note: PMU event-based sampling can collect stack info if you specify target application (process), if kernel module was used in this process, call stack info will be displayed; if kernel module was in other process, no call stack info
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
in my kernel modules,there are only thread,no application (process),i specify the thread pid,the vtune will report fatal error:"Process whith the 'xxx' identifier is not found,specify another process and try attaching again"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
> in my kernel modules,there are only thread,no application (process)
No. all modules should be belong to one or more processes (it could be your application process). Perhaps, your kernel module works as independent (service) process, and communicate with application process. Anyway, try to find out what process works in your kernel module, then try:
amlpxe-cl -collect advance-hotspots -knob collection-detail=stack-sampling -duration 120 -target-pid PID ; if your kernel module already is running and severed with your application
Did you

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page