Vtune report Outside any known module
Asked Answered
B

3

5

I am using Intel(R) VTune(TM) Amplifier XE 2013 Update 5 (build 274450) for my linux application hotspot collect, but the report says the "[Outside any known module]" consume most of the time, so i want to get more info about the unknow module.

when i read the release notes of the vtune Amplifier, it says "List of hotspots may contain "Outside any known module" on systems with kernel older than 2.6.20 (200233501)", but my linux kernel is "2.6.32", any idea about this?

Bunt answered 18/4, 2013 at 2:25 Comment(0)
E
4

I have been suffering from this issue in the past as well and it is very frustrating if you don't know why it is happening.

2 weeks ago I installed Ubuntu 13.04 and vtune update 14 and I was jumping from joy because I could see (again) what happened inside my code.

After doing some updates on my Ubuntu, vtune started to show your problem

  • I installed the kernel sources.. no help..

  • I reinstalled the driver, no help.

  • I reinstalled intel vtune.. no help.

And then I decided to run under root, and what do you know.. It works; no more 'Outside any known module'. I switched back to my regular user, it stopped working. I switched back to my root, and it works. So perhaps some kinds of access issue.

Maybe you could try this.

Encumbrance answered 22/12, 2013 at 9:53 Comment(0)
S
3

Check that your program is not generating code on the fly (i.e. is not JIT-ing). You may also want to switch grouping to "Module / Code Location / Call stack" and see which virtual addresses cannot be mapped by VTune to any known module.

Stillmann answered 5/6, 2013 at 9:45 Comment(1)
It isn't always JIT which causes the problem. My system was working perfectly fine, till I updated my Ubuntu setup (Java was not changed) and I ran into his issue.Encumbrance
C
0

Probably you have some kernel hidden addresses by kptr_restrict, you ca review the value of "/proc/sys/kernel/kptr_restrict":

kptr_restrict = 0, kernel addresses are provided without limitations (recommended).

kptr_restict = 1, addresses are provided if the current user has a CAP_SYSLOG capability.

kptr_restrict = 2, the kernel addresses are hidden regardless of privileges the current user has.

You can use this option before running the trace:

sysctl -w kernel.kptr_restrict=0

More details here: https://software.intel.com/en-us/vtune-help-enabling-linux-kernel-analysis

Hope this helps!

Consummation answered 5/2, 2020 at 19:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.