Re: [vpp-dev] gprof?

2019-09-17 Thread Christian Hopps
> On Sep 17, 2019, at 11:21 AM, Damjan Marion via Lists.Fd.Io > wrote: > > > >> On 17 Sep 2019, at 17:12, Christian Hopps wrote: >> >> >> >>> On Sep 17, 2019, at 3:56 AM, Benoit Ganne (bganne) via Lists.Fd.Io >>> wrote: >>> > AFAIK the default for x86_64 is to omit frame pointer

Re: [vpp-dev] gprof?

2019-09-17 Thread Benoit Ganne (bganne) via Lists.Fd.Io
>> AFAIK the default for x86_64 is to omit frame pointer >> for optimized builds so you probably do not have it in most cases in VPP >> builds (but I did not check). >> So when perf tries to interpret random data as frame pointer, this is >> what you get :) >> The most reliable (but slowest)

Re: [vpp-dev] gprof?

2019-09-16 Thread Christian Hopps
> On Sep 16, 2019, at 10:31 AM, Benoit Ganne (bganne) via Lists.Fd.Io > wrote: > >> Could these odd symbols I'm seeing be the result of link-time >> optimization? > > We do not do LTO. AFAIK the default for x86_64 is to omit frame pointer for > optimized builds so you probably do not have

Re: [vpp-dev] gprof?

2019-09-16 Thread Benoit Ganne (bganne) via Lists.Fd.Io
> Could these odd symbols I'm seeing be the result of link-time > optimization? We do not do LTO. AFAIK the default for x86_64 is to omit frame pointer for optimized builds so you probably do not have it in most cases in VPP builds (but I did not check). So when perf tries to interpret random

Re: [vpp-dev] gprof?

2019-09-16 Thread Christian Hopps
> On Sep 16, 2019, at 8:49 AM, Damjan Marion wrote: > > > >> On 13 Sep 2019, at 18:58, Christian Hopps wrote: >> >> >> >>> On Sep 13, 2019, at 12:41 PM, Christian Hopps wrote: >>> >>> Signed PGP part >>> >>> On Sep 13, 2019, at 12:23 PM, Damjan Marion wrote:

Re: [vpp-dev] gprof?

2019-09-16 Thread Christian Hopps
> On Sep 16, 2019, at 7:22 AM, Benoit Ganne (bganne) wrote: > >> I tried "perf record --call-graph fp" but the results seemed odd (e.g., I >> see a tcp function symbol deep within a call-branch rooted in the dpdk >> crypto device enqueue routine for the marvell mvsam cryptodev). > > Just in

Re: [vpp-dev] gprof?

2019-09-16 Thread Damjan Marion via Lists.Fd.Io
> On 13 Sep 2019, at 18:58, Christian Hopps wrote: > > > >> On Sep 13, 2019, at 12:41 PM, Christian Hopps wrote: >> >> Signed PGP part >> >> >>> On Sep 13, 2019, at 12:23 PM, Damjan Marion wrote: >>> >>> >>> On 13 Sep 2019, at 18:15, Christian Hopps wrote: Is it

Re: [vpp-dev] gprof?

2019-09-16 Thread Benoit Ganne (bganne) via Lists.Fd.Io
> I tried "perf record --call-graph fp" but the results seemed odd (e.g., I > see a tcp function symbol deep within a call-branch rooted in the dpdk > crypto device enqueue routine for the marvell mvsam cryptodev). Just in case, did you try "--call-graph lbr" (on Intel CPU older than Haswell I

Re: [vpp-dev] gprof?

2019-09-13 Thread Christian Hopps
> On Sep 13, 2019, at 12:41 PM, Christian Hopps wrote: > > Signed PGP part > > >> On Sep 13, 2019, at 12:23 PM, Damjan Marion wrote: >> >> >> >>> On 13 Sep 2019, at 18:15, Christian Hopps wrote: >>> >>> Is it possible to profile vpp with gprof? >> >> What exactly do you want to

Re: [vpp-dev] gprof?

2019-09-13 Thread Christian Hopps
> On Sep 13, 2019, at 12:23 PM, Damjan Marion wrote: > > > >> On 13 Sep 2019, at 18:15, Christian Hopps wrote: >> >> Is it possible to profile vpp with gprof? >> >> I google a bit but I'm not turning anything up. I have made some build >> changes to compile/link with -pg (starting with

Re: [vpp-dev] gprof?

2019-09-13 Thread Damjan Marion via Lists.Fd.Io
> On 13 Sep 2019, at 18:15, Christian Hopps wrote: > > Is it possible to profile vpp with gprof? > > I google a bit but I'm not turning anything up. I have made some build > changes to compile/link with -pg (starting with the gcov target), and a > change to not handle SIGPROF. This produced

[vpp-dev] gprof?

2019-09-13 Thread Christian Hopps
Is it possible to profile vpp with gprof? I google a bit but I'm not turning anything up. I have made some build changes to compile/link with -pg (starting with the gcov target), and a change to not handle SIGPROF. This produced a binary that created a gmon.out file. That file only has some