PMC profiling with (kernel+user) call stacks
Alexeev, Alexander
Alexander.Alexeev at dell.com
Fri Jan 13 21:21:49 UTC 2017
Hello
I am trying to adopt PMC for performance works and add some kind of post processing to customized pmcstat(8) output.
In order to customize output I use internal plugin interface, and it isn't problem.
What I found is that interface, or any other type of output from pmctsat profiling samples doesn't have kernel and user spaces stacks combined, only one or another.
For instance
pmcstat -R profile -k /boot/kernel.amd64 > dump_profile.txt
Stack traces (just short example) either kernel or user space
callchain 0 0x2000616 2 6 s
... 0xffffffff80b49baf
... 0xffffffff80b4b2c2
... 0xffffffff80b553b3
... 0xffffffff8071bb2a
... 0xffffffff8071cb58
... 0xffffffff8066d055
callchain 10059 0x3000616 3 6 u
... 0x801b39304
... 0x811e46b09
... 0x811f0c821
... 0x811e99551
... 0x801b4e9d5
... 0x801b55510
callchain 10059 0x2000616 2 5 u
... 0x801b593d1
... 0x801b4cb4a
... 0x801b53cd1
... 0x802771cb5
... 0x7fffda7d3000
callchain 10059 0x3000616 3 23 u
... 0x802cf9fa1
... 0x801dc0018
... 0x80fc6392b
... 0x80fc5eabd
... 0x80fc5e44d
... 0x80fcc3f5a
... 0x80fc5e327
... 0x80fc5d578
... 0x80fc5ce8c
... 0x80fcc3f5a
If kernel execution initiated by user space code than trace started from [kernel:amd64_syscall+0x...]
So the questions are
- Is it possible to have callstacks combined in pmcstat out of the box, so it would be seen what user space code cause kernel execution?
- If not possible out of the box, what kind of post processing or toolchain modification is required?
I am running pmcstat of FreeBSD 10
Thanks,
Alexander
More information about the freebsd-performance
mailing list