All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf report: Fix branch stack mode cannot be set
@ 2015-02-15  2:33 He Kuang
  2015-02-27  9:58 ` He Kuang
  2015-02-28  9:35 ` [tip:perf/core] " tip-bot for He Kuang
  0 siblings, 2 replies; 4+ messages in thread
From: He Kuang @ 2015-02-15  2:33 UTC (permalink / raw)
  To: a.p.zijlstra, paulus, mingo, acme; +Cc: wangnan0, linux-kernel

When perf.data file be abtained by using 'perf record -b', perf report
should use branch stack mode to generate output. But this function is
broken by improper comparison between boolean and constant -1.

before this patch:
$perf report -b -i perf.data
Samples: 16  of event 'cycles', Event count (approx.): 3171896
Overhead  Command  Shared Object      Symbol
  13.59%  ls       [kernel.kallsyms]  [k] prio_tree_remove
  13.16%  ls       [kernel.kallsyms]  [k] change_pte_range
  12.09%  ls       [kernel.kallsyms]  [k] page_fault
  12.02%  ls       [kernel.kallsyms]  [k] zap_pte_range
...

after this patch:
$perf report -b -i perf.data
Samples: 256  of event 'cycles', Event count (approx.): 256
Overhead  Command  Source Shared Object  Source Symbol                               Target Shared Object  Target Symbol
   9.38%  ls       [unknown]             [k] 0000000000000000                        [unknown]             [k] 0000000000000000
   6.25%  ls       libc-2.19.so          [.] _dl_addr                                libc-2.19.so          [.] _dl_addr
   6.25%  ls       [kernel.kallsyms]     [k] zap_pte_range                           [kernel.kallsyms]     [k] zap_pte_range
   6.25%  ls       [kernel.kallsyms]     [k] change_pte_range                        [kernel.kallsyms]     [k] change_pte_range
   0.39%  ls       [kernel.kallsyms]     [k] prio_tree_remove                        [kernel.kallsyms]     [k] prio_tree_remove
...

Signed-off-by: He Kuang <hekuang@huawei.com>
---
 tools/perf/builtin-report.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 2f91094..ecc453b 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -766,7 +766,7 @@ repeat:
 	 * 0/1 means the user chose a mode.
 	 */
 	if (((branch_mode == -1 && has_br_stack) || branch_mode == 1) &&
-	    branch_call_mode == -1) {
+	    !branch_call_mode) {
 		sort__mode = SORT_MODE__BRANCH;
 		symbol_conf.cumulate_callchain = false;
 	}
-- 
2.2.0.33.gc18b867


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] perf report: Fix branch stack mode cannot be set
  2015-02-15  2:33 [PATCH] perf report: Fix branch stack mode cannot be set He Kuang
@ 2015-02-27  9:58 ` He Kuang
  2015-02-27 16:31   ` Arnaldo Carvalho de Melo
  2015-02-28  9:35 ` [tip:perf/core] " tip-bot for He Kuang
  1 sibling, 1 reply; 4+ messages in thread
From: He Kuang @ 2015-02-27  9:58 UTC (permalink / raw)
  To: a.p.zijlstra, paulus, mingo, acme; +Cc: wangnan0, linux-kernel

ping..
在 2015/2/15 10:33, He Kuang 写道:
> When perf.data file be abtained by using 'perf record -b', perf report
> should use branch stack mode to generate output. But this function is
> broken by improper comparison between boolean and constant -1.
>
> before this patch:
> $perf report -b -i perf.data
> Samples: 16  of event 'cycles', Event count (approx.): 3171896
> Overhead  Command  Shared Object      Symbol
>    13.59%  ls       [kernel.kallsyms]  [k] prio_tree_remove
>    13.16%  ls       [kernel.kallsyms]  [k] change_pte_range
>    12.09%  ls       [kernel.kallsyms]  [k] page_fault
>    12.02%  ls       [kernel.kallsyms]  [k] zap_pte_range
> ...
>
> after this patch:
> $perf report -b -i perf.data
> Samples: 256  of event 'cycles', Event count (approx.): 256
> Overhead  Command  Source Shared Object  Source Symbol                               Target Shared Object  Target Symbol
>     9.38%  ls       [unknown]             [k] 0000000000000000                        [unknown]             [k] 0000000000000000
>     6.25%  ls       libc-2.19.so          [.] _dl_addr                                libc-2.19.so          [.] _dl_addr
>     6.25%  ls       [kernel.kallsyms]     [k] zap_pte_range                           [kernel.kallsyms]     [k] zap_pte_range
>     6.25%  ls       [kernel.kallsyms]     [k] change_pte_range                        [kernel.kallsyms]     [k] change_pte_range
>     0.39%  ls       [kernel.kallsyms]     [k] prio_tree_remove                        [kernel.kallsyms]     [k] prio_tree_remove
> ...
>
> Signed-off-by: He Kuang <hekuang@huawei.com>
> ---
>   tools/perf/builtin-report.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
> index 2f91094..ecc453b 100644
> --- a/tools/perf/builtin-report.c
> +++ b/tools/perf/builtin-report.c
> @@ -766,7 +766,7 @@ repeat:
>   	 * 0/1 means the user chose a mode.
>   	 */
>   	if (((branch_mode == -1 && has_br_stack) || branch_mode == 1) &&
> -	    branch_call_mode == -1) {
> +	    !branch_call_mode) {
>   		sort__mode = SORT_MODE__BRANCH;
>   		symbol_conf.cumulate_callchain = false;
>   	}



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] perf report: Fix branch stack mode cannot be set
  2015-02-27  9:58 ` He Kuang
@ 2015-02-27 16:31   ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-02-27 16:31 UTC (permalink / raw)
  To: He Kuang; +Cc: a.p.zijlstra, paulus, mingo, wangnan0, linux-kernel

Em Fri, Feb 27, 2015 at 05:58:44PM +0800, He Kuang escreveu:
> ping..

Thanks, applied to perf/core.

- Arnaldo

> 在 2015/2/15 10:33, He Kuang 写道:
> >When perf.data file be abtained by using 'perf record -b', perf report
> >should use branch stack mode to generate output. But this function is
> >broken by improper comparison between boolean and constant -1.
> >
> >before this patch:
> >$perf report -b -i perf.data
> >Samples: 16  of event 'cycles', Event count (approx.): 3171896
> >Overhead  Command  Shared Object      Symbol
> >   13.59%  ls       [kernel.kallsyms]  [k] prio_tree_remove
> >   13.16%  ls       [kernel.kallsyms]  [k] change_pte_range
> >   12.09%  ls       [kernel.kallsyms]  [k] page_fault
> >   12.02%  ls       [kernel.kallsyms]  [k] zap_pte_range
> >...
> >
> >after this patch:
> >$perf report -b -i perf.data
> >Samples: 256  of event 'cycles', Event count (approx.): 256
> >Overhead  Command  Source Shared Object  Source Symbol                               Target Shared Object  Target Symbol
> >    9.38%  ls       [unknown]             [k] 0000000000000000                        [unknown]             [k] 0000000000000000
> >    6.25%  ls       libc-2.19.so          [.] _dl_addr                                libc-2.19.so          [.] _dl_addr
> >    6.25%  ls       [kernel.kallsyms]     [k] zap_pte_range                           [kernel.kallsyms]     [k] zap_pte_range
> >    6.25%  ls       [kernel.kallsyms]     [k] change_pte_range                        [kernel.kallsyms]     [k] change_pte_range
> >    0.39%  ls       [kernel.kallsyms]     [k] prio_tree_remove                        [kernel.kallsyms]     [k] prio_tree_remove
> >...
> >
> >Signed-off-by: He Kuang <hekuang@huawei.com>
> >---
> >  tools/perf/builtin-report.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
> >index 2f91094..ecc453b 100644
> >--- a/tools/perf/builtin-report.c
> >+++ b/tools/perf/builtin-report.c
> >@@ -766,7 +766,7 @@ repeat:
> >  	 * 0/1 means the user chose a mode.
> >  	 */
> >  	if (((branch_mode == -1 && has_br_stack) || branch_mode == 1) &&
> >-	    branch_call_mode == -1) {
> >+	    !branch_call_mode) {
> >  		sort__mode = SORT_MODE__BRANCH;
> >  		symbol_conf.cumulate_callchain = false;
> >  	}
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [tip:perf/core] perf report: Fix branch stack mode cannot be set
  2015-02-15  2:33 [PATCH] perf report: Fix branch stack mode cannot be set He Kuang
  2015-02-27  9:58 ` He Kuang
@ 2015-02-28  9:35 ` tip-bot for He Kuang
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot for He Kuang @ 2015-02-28  9:35 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, a.p.zijlstra, mingo, wangnan0, tglx, hpa, paulus,
	acme, hekuang

Commit-ID:  fefd2d9619de3bf0bf02a8622e9f445c3d19cc3f
Gitweb:     http://git.kernel.org/tip/fefd2d9619de3bf0bf02a8622e9f445c3d19cc3f
Author:     He Kuang <hekuang@huawei.com>
AuthorDate: Sun, 15 Feb 2015 10:33:37 +0800
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 27 Feb 2015 15:52:42 -0300

perf report: Fix branch stack mode cannot be set

When perf.data file is obtained using 'perf record -b', perf report
should use branch stack mode to generate output. But this function is
broken by improper comparison between boolean and constant -1.

before this patch:

  $ perf report -b -i perf.data
  Samples: 16  of event 'cycles', Event count (approx.): 3171896
  Overhead  Command  Shared Object      Symbol
    13.59%  ls       [kernel.kallsyms]  [k] prio_tree_remove
    13.16%  ls       [kernel.kallsyms]  [k] change_pte_range
    12.09%  ls       [kernel.kallsyms]  [k] page_fault
    12.02%  ls       [kernel.kallsyms]  [k] zap_pte_range
  ...

after this patch:

  $ perf report -b -i perf.data
  Samples: 256  of event 'cycles', Event count (approx.): 256
  Overhead  Command  Source Shared Object  Source Symbol                               Target Shared Object  Target Symbol
     9.38%  ls       [unknown]             [k] 0000000000000000                        [unknown]             [k] 0000000000000000
     6.25%  ls       libc-2.19.so          [.] _dl_addr                                libc-2.19.so          [.] _dl_addr
     6.25%  ls       [kernel.kallsyms]     [k] zap_pte_range                           [kernel.kallsyms]     [k] zap_pte_range
     6.25%  ls       [kernel.kallsyms]     [k] change_pte_range                        [kernel.kallsyms]     [k] change_pte_range
     0.39%  ls       [kernel.kallsyms]     [k] prio_tree_remove                        [kernel.kallsyms]     [k] prio_tree_remove
  ...

Signed-off-by: He Kuang <hekuang@huawei.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1423967617-28879-1-git-send-email-hekuang@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-report.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 0ba5f07..fb35034 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -768,7 +768,7 @@ repeat:
 	 * 0/1 means the user chose a mode.
 	 */
 	if (((branch_mode == -1 && has_br_stack) || branch_mode == 1) &&
-	    branch_call_mode == -1) {
+	    !branch_call_mode) {
 		sort__mode = SORT_MODE__BRANCH;
 		symbol_conf.cumulate_callchain = false;
 	}

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-02-28  9:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-15  2:33 [PATCH] perf report: Fix branch stack mode cannot be set He Kuang
2015-02-27  9:58 ` He Kuang
2015-02-27 16:31   ` Arnaldo Carvalho de Melo
2015-02-28  9:35 ` [tip:perf/core] " tip-bot for He Kuang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.