Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
4975 Discussions

can the vtune get the call stack between two kernel module.

Wang_Ruifeng
Beginner
446 Views

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 

0 Kudos
5 Replies
Bernard
Valued Contributor I
446 Views

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.

0 Kudos
Wang_Ruifeng
Beginner
446 Views

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

0 Kudos
Peter_W_Intel
Employee
446 Views

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 

0 Kudos
Wang_Ruifeng
Beginner
446 Views

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"

0 Kudos
Peter_W_Intel
Employee
446 Views

> 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 

0 Kudos
Reply