Re: [PATCH v6 7/7] perf diff: Support hot streams comparison

2020-09-21 Thread Arnaldo Carvalho de Melo
Em Sat, Sep 19, 2020 at 12:41:35PM +0800, Jin, Yao escreveu:
> Hi Arnaldo,
> 
> On 9/18/2020 4:26 AM, Arnaldo Carvalho de Melo wrote:
> > Em Fri, Sep 11, 2020 at 04:03:53PM +0800, Jin Yao escreveu:
> > > This patch enables perf-diff with "--stream" option.
> > > 
> > > "--stream": Enable hot streams comparison
> > > 
> > > Now let's see examples.
> > > 
> > > perf record -b ...  Generate perf.data.old with branch data
> > > perf record -b ...  Generate perf.data with branch data
> > > perf diff --stream
> > > 
> > > [ Matched hot streams ]
> > > 
> > > hot chain pair 1:
> > >  cycles: 1, hits: 27.77%  cycles: 1, hits: 
> > > 9.24%
> > >  ---  
> > > --
> > >main div.c:39   main 
> > > div.c:39
> > >main div.c:44   main 
> > > div.c:44
> > > 
> > > hot chain pair 2:
> > > cycles: 34, hits: 20.06%cycles: 27, hits: 
> > > 16.98%
> > >  ---  
> > > --
> > >__random_r random_r.c:360   __random_r 
> > > random_r.c:360
> > 
> > Would it be interesting to get the associated source code and show right 
> > below
> > these file:number lines?
> > 
> > - Arnaldo
> > 
> 
> I'm thinking we can implement this function in callchain_list__sym_name(),
> and then all callchain functionality will benefit from it. While that looks
> to be another patchset. :)

Sure, after we go thru the process of merging the current one.
 
> Thanks
> Jin Yao

-- 

- Arnaldo


Re: [PATCH v6 7/7] perf diff: Support hot streams comparison

2020-09-18 Thread Jin, Yao

Hi Arnaldo,

On 9/18/2020 4:26 AM, Arnaldo Carvalho de Melo wrote:

Em Fri, Sep 11, 2020 at 04:03:53PM +0800, Jin Yao escreveu:

This patch enables perf-diff with "--stream" option.

"--stream": Enable hot streams comparison

Now let's see examples.

perf record -b ...  Generate perf.data.old with branch data
perf record -b ...  Generate perf.data with branch data
perf diff --stream

[ Matched hot streams ]

hot chain pair 1:
 cycles: 1, hits: 27.77%  cycles: 1, hits: 9.24%
 ---  --
   main div.c:39   main div.c:39
   main div.c:44   main div.c:44

hot chain pair 2:
cycles: 34, hits: 20.06%cycles: 27, hits: 16.98%
 ---  --
   __random_r random_r.c:360   __random_r random_r.c:360


Would it be interesting to get the associated source code and show right below
these file:number lines?

- Arnaldo



I'm thinking we can implement this function in callchain_list__sym_name(), and then all callchain 
functionality will benefit from it. While that looks to be another patchset. :)


Thanks
Jin Yao


Re: [PATCH v6 7/7] perf diff: Support hot streams comparison

2020-09-18 Thread Jin, Yao

Hi Arnaldo,

On 9/18/2020 4:26 AM, Arnaldo Carvalho de Melo wrote:

Em Fri, Sep 11, 2020 at 04:03:53PM +0800, Jin Yao escreveu:

This patch enables perf-diff with "--stream" option.

"--stream": Enable hot streams comparison

Now let's see examples.

perf record -b ...  Generate perf.data.old with branch data
perf record -b ...  Generate perf.data with branch data
perf diff --stream

[ Matched hot streams ]

hot chain pair 1:
 cycles: 1, hits: 27.77%  cycles: 1, hits: 9.24%
 ---  --
   main div.c:39   main div.c:39
   main div.c:44   main div.c:44

hot chain pair 2:
cycles: 34, hits: 20.06%cycles: 27, hits: 16.98%
 ---  --
   __random_r random_r.c:360   __random_r random_r.c:360


Would it be interesting to get the associated source code and show right below
these file:number lines?

- Arnaldo



Yes, that would be better. Let me think about the implementation.

Thanks
Jin Yao


Re: [PATCH v6 7/7] perf diff: Support hot streams comparison

2020-09-17 Thread Arnaldo Carvalho de Melo
Em Fri, Sep 11, 2020 at 04:03:53PM +0800, Jin Yao escreveu:
> This patch enables perf-diff with "--stream" option.
> 
> "--stream": Enable hot streams comparison
> 
> Now let's see examples.
> 
> perf record -b ...  Generate perf.data.old with branch data
> perf record -b ...  Generate perf.data with branch data
> perf diff --stream
> 
> [ Matched hot streams ]
> 
> hot chain pair 1:
> cycles: 1, hits: 27.77%  cycles: 1, hits: 9.24%
> ---  --
>   main div.c:39   main div.c:39
>   main div.c:44   main div.c:44
> 
> hot chain pair 2:
>cycles: 34, hits: 20.06%cycles: 27, hits: 16.98%
> ---  --
>   __random_r random_r.c:360   __random_r random_r.c:360

Would it be interesting to get the associated source code and show right below
these file:number lines?

- Arnaldo

>   __random_r random_r.c:388   __random_r random_r.c:388
>   __random_r random_r.c:388   __random_r random_r.c:388
>   __random_r random_r.c:380   __random_r random_r.c:380
>   __random_r random_r.c:357   __random_r random_r.c:357
>   __random random.c:293   __random random.c:293
>   __random random.c:293   __random random.c:293
>   __random random.c:291   __random random.c:291
>   __random random.c:291   __random random.c:291
>   __random random.c:291   __random random.c:291
>   __random random.c:288   __random random.c:288
>  rand rand.c:27  rand rand.c:27
>  rand rand.c:26  rand rand.c:26
>rand@pltrand@plt
>rand@pltrand@plt
>   compute_flag div.c:25   compute_flag div.c:25
>   compute_flag div.c:22   compute_flag div.c:22
>   main div.c:40   main div.c:40
>   main div.c:40   main div.c:40
>   main div.c:39   main div.c:39
> 
> hot chain pair 3:
>  cycles: 9, hits: 4.48%  cycles: 6, hits: 4.51%
> ---  --
>   __random_r random_r.c:360   __random_r random_r.c:360
>   __random_r random_r.c:388   __random_r random_r.c:388
>   __random_r random_r.c:388   __random_r random_r.c:388
>   __random_r random_r.c:380   __random_r random_r.c:380
> 
> [ Hot streams in old perf data only ]
> 
> hot chain 1:
> cycles: 18, hits: 6.75%
>  --
>   __random_r random_r.c:360
>   __random_r random_r.c:388
>   __random_r random_r.c:388
>   __random_r random_r.c:380
>   __random_r random_r.c:357
>   __random random.c:293
>   __random random.c:293
>   __random random.c:291
>   __random random.c:291
>   __random random.c:291
>   __random random.c:288
>  rand rand.c:27
>  rand rand.c:26
>rand@plt
>rand@plt
>   compute_flag div.c:25
>   compute_flag div.c:22
>   main div.c:40
> 
> hot chain 2:
> cycles: 29, hits: 2.78%
>  --
>   compute_flag div.c:22
>   main div.c:40
>   main div.c:40
>   main div.c:39
> 
> [ Hot streams in new perf data only ]
> 
> hot chain 1:
>  cycles: 4, hits: 4.54%
>  --
>   main div.c:42
>   compute_flag div.c:28
> 
> hot chain 2:
>  cycles: 5, hits: 3.51%
>  --
>   main div.c:39
>   main div.c:44
>   main div.c:42
>   compute_flag div.c:28
> 
>