[PATCH 11/21] perf diff: Use hists__link when not pairing just with baseline

2012-11-09 Thread Arnaldo Carvalho de Melo
From: Arnaldo Carvalho de Melo 

Previously there were blind spots because we were not looking at symbols
that didn't ocurred in the latest run:

  # perf record usleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.018 MB perf.data (~801 samples) ]
  # perf record usleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.018 MB perf.data (~801 samples) ]

Before:

  # perf diff
  # Event 'cycles'
  #
  # BaselineDelta  Shared Object Symbol
  #   ...  .  .
  #
  +10.38%  [kernel.kallsyms]  [k] get_empty_filp
   +9.51%  [kernel.kallsyms]  [k] update_sd_lb_stats
   +9.41%  libpopt.so.0.0.0   [.] _init
   +9.29%  [kernel.kallsyms]  [k] vma_interval_tree_insert
   9.05%   +0.12%  [kernel.kallsyms]  [k] do_sys_open
   +9.14%  [kernel.kallsyms]  [k] kfree
   +8.98%  [kernel.kallsyms]  [k] free_pages_and_swap_cache
   +8.78%  [kernel.kallsyms]  [k] unmap_page_range
   9.36%   -0.90%  [kernel.kallsyms]  [k] zap_pte_range
   7.60%   +0.09%  [kernel.kallsyms]  [k] find_next_bit
   +4.37%  [kernel.kallsyms]  [k] place_entity
   +3.38%  [kernel.kallsyms]  [k] __do_page_fault
   +0.80%  [kernel.kallsyms]  [k] native_apic_mem_write
   0.21%   +0.43%  [kernel.kallsyms]  [k] native_write_msr_safe
  #

So 9.05 + 9.36 + 7.60 + 0.21 != 100%

Now using the recently introduced hists__link we can see the whole
picture:

  # perf diff
  # Event 'cycles'
  #
  # BaselineDelta  Shared Object Symbol
  #   ...  .  .
  #
   8.44%   -8.44%  [kernel.kallsyms]  [k] _raw_spin_lock
   9.05%   -9.05%  [kernel.kallsyms]  [k] sha_transform
  10.55%  -10.55%  [kernel.kallsyms]  [k] __d_lookup_rcu
  +10.38%  [kernel.kallsyms]  [k] get_empty_filp
  17.70%  -17.70%  [kernel.kallsyms]  [k] kmem_cache_free
   +9.51%  [kernel.kallsyms]  [k] update_sd_lb_stats
   +9.41%  libpopt.so.0.0.0   [.] _init
   +9.29%  [kernel.kallsyms]  [k] vma_interval_tree_insert
   9.05%   +0.12%  [kernel.kallsyms]  [k] do_sys_open
   +9.14%  [kernel.kallsyms]  [k] kfree
   +8.98%  [kernel.kallsyms]  [k] free_pages_and_swap_cache
   +8.78%  [kernel.kallsyms]  [k] unmap_page_range
   9.36%   -0.90%  [kernel.kallsyms]  [k] zap_pte_range
   7.60%   +0.09%  [kernel.kallsyms]  [k] find_next_bit
   +4.37%  [kernel.kallsyms]  [k] place_entity
   +3.38%  [kernel.kallsyms]  [k] __do_page_fault
   4.01%   -4.01%  [kernel.kallsyms]  [k] handle_pte_fault
   9.27%   -9.27%  [kernel.kallsyms]  [k] find_get_page
   0.78%   -0.78%  [kernel.kallsyms]  [k] rcu_irq_enter
   0.57%   -0.57%  [kernel.kallsyms]  [k] finish_task_switch
   4.25%   -4.25%  [kernel.kallsyms]  [k] run_timer_softirq
   +0.80%  [kernel.kallsyms]  [k] native_apic_mem_write
   0.21%   +0.43%  [kernel.kallsyms]  [k] native_write_msr_safe
   9.16%   -9.16%  ld-2.12.so [.] close
  #

Now:

8.44 + 9.05 + 10.55 + 17.70 + 9.05 + 9.36 +
7.60 + 4.01 + 9.27 + 0.78 + 0.57 + 4.25 + 0.21 + 9.16 == 100%

Cc: David Ahern 
Cc: Frederic Weisbecker 
Cc: Jiri Olsa 
Cc: Mike Galbraith 
Cc: Namhyung Kim 
Cc: Paul Mackerras 
Cc: Peter Zijlstra 
Cc: Stephane Eranian 
Link: http://lkml.kernel.org/n/tip-jeq55qdgby1745bs8r9ss...@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo 
---
 tools/perf/builtin-diff.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
index e99fb3b..93b852f 100644
--- a/tools/perf/builtin-diff.c
+++ b/tools/perf/builtin-diff.c
@@ -491,6 +491,8 @@ static void hists__process(struct hists *old, struct hists 
*new)
 
if (show_baseline_only)
hists__baseline_only(new);
+   else
+   hists__link(new, old);
 
if (sort_compute) {
hists__precompute(new);
-- 
1.7.9.2.358.g22243

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 11/21] perf diff: Use hists__link when not pairing just with baseline

2012-11-09 Thread Arnaldo Carvalho de Melo
From: Arnaldo Carvalho de Melo a...@redhat.com

Previously there were blind spots because we were not looking at symbols
that didn't ocurred in the latest run:

  # perf record usleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.018 MB perf.data (~801 samples) ]
  # perf record usleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.018 MB perf.data (~801 samples) ]

Before:

  # perf diff
  # Event 'cycles'
  #
  # BaselineDelta  Shared Object Symbol
  #   ...  .  .
  #
  +10.38%  [kernel.kallsyms]  [k] get_empty_filp
   +9.51%  [kernel.kallsyms]  [k] update_sd_lb_stats
   +9.41%  libpopt.so.0.0.0   [.] _init
   +9.29%  [kernel.kallsyms]  [k] vma_interval_tree_insert
   9.05%   +0.12%  [kernel.kallsyms]  [k] do_sys_open
   +9.14%  [kernel.kallsyms]  [k] kfree
   +8.98%  [kernel.kallsyms]  [k] free_pages_and_swap_cache
   +8.78%  [kernel.kallsyms]  [k] unmap_page_range
   9.36%   -0.90%  [kernel.kallsyms]  [k] zap_pte_range
   7.60%   +0.09%  [kernel.kallsyms]  [k] find_next_bit
   +4.37%  [kernel.kallsyms]  [k] place_entity
   +3.38%  [kernel.kallsyms]  [k] __do_page_fault
   +0.80%  [kernel.kallsyms]  [k] native_apic_mem_write
   0.21%   +0.43%  [kernel.kallsyms]  [k] native_write_msr_safe
  #

So 9.05 + 9.36 + 7.60 + 0.21 != 100%

Now using the recently introduced hists__link we can see the whole
picture:

  # perf diff
  # Event 'cycles'
  #
  # BaselineDelta  Shared Object Symbol
  #   ...  .  .
  #
   8.44%   -8.44%  [kernel.kallsyms]  [k] _raw_spin_lock
   9.05%   -9.05%  [kernel.kallsyms]  [k] sha_transform
  10.55%  -10.55%  [kernel.kallsyms]  [k] __d_lookup_rcu
  +10.38%  [kernel.kallsyms]  [k] get_empty_filp
  17.70%  -17.70%  [kernel.kallsyms]  [k] kmem_cache_free
   +9.51%  [kernel.kallsyms]  [k] update_sd_lb_stats
   +9.41%  libpopt.so.0.0.0   [.] _init
   +9.29%  [kernel.kallsyms]  [k] vma_interval_tree_insert
   9.05%   +0.12%  [kernel.kallsyms]  [k] do_sys_open
   +9.14%  [kernel.kallsyms]  [k] kfree
   +8.98%  [kernel.kallsyms]  [k] free_pages_and_swap_cache
   +8.78%  [kernel.kallsyms]  [k] unmap_page_range
   9.36%   -0.90%  [kernel.kallsyms]  [k] zap_pte_range
   7.60%   +0.09%  [kernel.kallsyms]  [k] find_next_bit
   +4.37%  [kernel.kallsyms]  [k] place_entity
   +3.38%  [kernel.kallsyms]  [k] __do_page_fault
   4.01%   -4.01%  [kernel.kallsyms]  [k] handle_pte_fault
   9.27%   -9.27%  [kernel.kallsyms]  [k] find_get_page
   0.78%   -0.78%  [kernel.kallsyms]  [k] rcu_irq_enter
   0.57%   -0.57%  [kernel.kallsyms]  [k] finish_task_switch
   4.25%   -4.25%  [kernel.kallsyms]  [k] run_timer_softirq
   +0.80%  [kernel.kallsyms]  [k] native_apic_mem_write
   0.21%   +0.43%  [kernel.kallsyms]  [k] native_write_msr_safe
   9.16%   -9.16%  ld-2.12.so [.] close
  #

Now:

8.44 + 9.05 + 10.55 + 17.70 + 9.05 + 9.36 +
7.60 + 4.01 + 9.27 + 0.78 + 0.57 + 4.25 + 0.21 + 9.16 == 100%

Cc: David Ahern dsah...@gmail.com
Cc: Frederic Weisbecker fweis...@gmail.com
Cc: Jiri Olsa jo...@redhat.com
Cc: Mike Galbraith efa...@gmx.de
Cc: Namhyung Kim namhy...@gmail.com
Cc: Paul Mackerras pau...@samba.org
Cc: Peter Zijlstra pet...@infradead.org
Cc: Stephane Eranian eran...@google.com
Link: http://lkml.kernel.org/n/tip-jeq55qdgby1745bs8r9ss...@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com
---
 tools/perf/builtin-diff.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
index e99fb3b..93b852f 100644
--- a/tools/perf/builtin-diff.c
+++ b/tools/perf/builtin-diff.c
@@ -491,6 +491,8 @@ static void hists__process(struct hists *old, struct hists 
*new)
 
if (show_baseline_only)
hists__baseline_only(new);
+   else
+   hists__link(new, old);
 
if (sort_compute) {
hists__precompute(new);
-- 
1.7.9.2.358.g22243

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/