Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jan 2017 21:21:21 +0000
From:      "Alexeev, Alexander" <Alexander.Alexeev@dell.com>
To:        "freebsd-performance@freebsd.org" <freebsd-performance@freebsd.org>
Subject:   PMC profiling with (kernel+user) call stacks 
Message-ID:  <210C625981C6714DB138F1B28AC66DCD21A4416D@MX303CL02.corp.emc.com>

next in thread | raw e-mail | index | archive | help
Hello

I am trying to adopt PMC for performance works and add some kind of post pr=
ocessing 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 pr=
ofiling samples doesn't have kernel and user spaces stacks combined, only o=
ne 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 [k=
ernel: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






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?210C625981C6714DB138F1B28AC66DCD21A4416D>