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