[PATCH v2 0/7] perf diff: diff cycles at basic block level

2019-06-02 Thread Jin Yao
_callbacks (2febb6:2febdc) -21 __hrtimer_run_queues (30b220:30b2a3) 19 pvclock_gtod_notify (14ba0:14c1b) -18 task_tick_fair (2c5d29:2c5d41) Jin Yao (7): perf util: Create block_info structure perf util: Add block_info in hist_entry perf diff: Check if all data files

[PATCH v2 6/7] perf diff: Print the basic block cycles diff

2019-06-02 Thread Jin Yao
he basic blocks in the same function are sorted by cycles diff. v2: --- Keep standard perf diff format and display the 'Baseline' and 'Shared Object'. Signed-off-by: Jin Yao --- tools/perf/builtin-diff.c | 63 +++--- tools/perf/ui/

[PATCH v2 2/7] perf util: Add block_info in hist_entry

2019-06-02 Thread Jin Yao
field to hist_entry. In order not to impact current interface, we creates a new function hists__add_entry_block. Signed-off-by: Jin Yao --- tools/perf/util/hist.c | 22 -- tools/perf/util/hist.h | 6 ++ tools/perf/util/sort.h | 1 + 3 files changed, 27 insertions(+), 2

[PATCH v2 7/7] perf diff: Documentation -c cycles option

2019-06-02 Thread Jin Yao
Documentation the new computation selection 'cycles'. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tools/perf/Documentation/perf-diff.txt b/tools/perf/Documentation/perf-diff

[PATCH v2 3/7] perf diff: Check if all data files with branch stacks

2019-06-02 Thread Jin Yao
check_file_brstack() from __cmd_diff() to cmd_diff(). Because later patch will check flag 'has_br_stack' before ui_init(). Signed-off-by: Jin Yao --- tools/perf/builtin-diff.c | 29 + 1 file changed, 29 insertions(+) diff --git a/tools/perf/builtin-diff.c b/tools/pe

[PATCH v2 5/7] perf diff: Link same basic blocks among different data files

2019-06-02 Thread Jin Yao
resort by the cycles diff. v2: --- Since now the basic block hists is changed to per symbol, the patch only links the basic block hists for the same symbol in different data files. Signed-off-by: Jin Yao --- tools/perf/builtin-diff.c | 93 ++- tools

Re: [PATCH v1 8/9] perf diff: Print the basic block cycles diff

2019-05-23 Thread Jin, Yao
On 5/22/2019 10:04 PM, Jiri Olsa wrote: On Mon, May 20, 2019 at 09:27:55PM +0800, Jin Yao wrote: Currently we only support sorting by diff cycles. For example, perf record -b ./div perf record -b ./div perf diff --basic-block # Cycles diff Basic block (start:end

[PATCH v1 5/9] perf diff: Use hists to manage basic blocks

2019-05-19 Thread Jin Yao
compare, sort and print the basic blocks. Signed-off-by: Jin Yao --- tools/perf/builtin-diff.c | 145 ++ 1 file changed, 145 insertions(+) diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c index e067ac6..09551fe 100644 --- a/tools/perf

[PATCH v1 4/9] perf diff: Get a list of symbols(functions)

2019-05-19 Thread Jin Yao
, which will be used in next patch for accounting cycles per basic block per function. Signed-off-by: Jin Yao --- tools/perf/builtin-diff.c | 81 ++- 1 file changed, 73 insertions(+), 8 deletions(-) diff --git a/tools/perf/builtin-diff.c b/tools/perf

[PATCH v1 0/9] perf diff: diff cycles at basic block level

2019-05-19 Thread Jin Yao
erf-diff option, which enables the displaying of cycles difference of same program basic block amongst two or more perf.data. The program basic block is the code block between two branches in a function. Jin Yao (9): perf util: Create block_info structure perf util: Add block_info in hist_entry p

[PATCH v1 3/9] perf diff: Check if all data files with branch stacks

2019-05-19 Thread Jin Yao
We will expand perf diff to support diff cycles of individual programs blocks, so it requires all data files having branch stacks. This patch checks HEADER_BRANCH_STACK in header, and only set the flag has_br_stack when HEADER_BRANCH_STACK are set in all data files. Signed-off-by: Jin Yao

[PATCH v1 2/9] perf util: Add block_info in hist_entry

2019-05-19 Thread Jin Yao
field to hist_entry. In order not to impact current interface, we creates a new function hists__add_entry_block. Signed-off-by: Jin Yao --- tools/perf/util/hist.c | 22 -- tools/perf/util/hist.h | 6 ++ tools/perf/util/sort.h | 1 + 3 files changed, 27 insertions(+), 2

[PATCH v1 1/9] perf util: Create block_info structure

2019-05-19 Thread Jin Yao
(function), start/end addrress of this block, cycles. This patch creates this structure and with some ops. Signed-off-by: Jin Yao --- tools/perf/util/symbol.c | 22 ++ tools/perf/util/symbol.h | 23 +++ 2 files changed, 45 insertions(+) diff --git a/tools/perf

[PATCH v1 9/9] perf diff: Documentation --basic-block option

2019-05-19 Thread Jin Yao
Documentation the new option '--basic-block'. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 5 + 1 file changed, 5 insertions(+) diff --git a/tools/perf/Documentation/perf-diff.txt b/tools/perf/Documentation/perf-diff.txt index da7809b..b242af8 100644 -

[PATCH v1 7/9] perf diff: Compute cycles diff of basic blocks

2019-05-19 Thread Jin Yao
In previous patch, we have already linked up the same basic blocks. Now we compute the cycles diff value of basic blocks, in order to sort by diff cycles later. Signed-off-by: Jin Yao --- tools/perf/builtin-diff.c | 31 +++ tools/perf/util/sort.h| 2 ++ 2 files

[PATCH v1 8/9] perf diff: Print the basic block cycles diff

2019-05-19 Thread Jin Yao
) 0 __random (3ab03:3ab0f) 0 __random (3ab14:3ab1b) 0 __random (3ab28:3ab2e) 0 __random (3ab4a:3ab53) Signed-off-by: Jin Yao --- tools/perf/builtin-diff.c | 168 ++ tools/perf/util/hist.c| 2 +- tools

[PATCH v1 6/9] perf diff: Link same basic blocks among different data files

2019-05-19 Thread Jin Yao
-off-by: Jin Yao --- tools/perf/builtin-diff.c | 66 +++ 1 file changed, 66 insertions(+) diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c index 09551fe..72c33ab 100644 --- a/tools/perf/builtin-diff.c +++ b/tools/perf/builtin-diff.c

[tip:perf/core] perf stat: Support 'percore' event qualifier

2019-05-18 Thread tip-bot for Jin Yao
Commit-ID: 4fc4d8dfa056dfd48afe73b9ea3b7570ceb80b9c Gitweb: https://git.kernel.org/tip/4fc4d8dfa056dfd48afe73b9ea3b7570ceb80b9c Author: Jin Yao AuthorDate: Fri, 12 Apr 2019 21:59:49 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Thu, 16 May 2019 14:17:24 -0300 perf stat

[tip:perf/core] perf stat: Factor out aggregate counts printing

2019-05-18 Thread tip-bot for Jin Yao
Commit-ID: 40480a8136700d678dc07222c4d7287c89d0c04d Gitweb: https://git.kernel.org/tip/40480a8136700d678dc07222c4d7287c89d0c04d Author: Jin Yao AuthorDate: Fri, 12 Apr 2019 21:59:48 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Thu, 16 May 2019 14:17:24 -0300 perf stat: Factor

[tip:perf/core] perf tools: Add a 'percore' event qualifier

2019-05-18 Thread tip-bot for Jin Yao
Commit-ID: 064b4e82aa1633c27c383cc686b87ced57e072d1 Gitweb: https://git.kernel.org/tip/064b4e82aa1633c27c383cc686b87ced57e072d1 Author: Jin Yao AuthorDate: Fri, 12 Apr 2019 21:59:47 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Thu, 16 May 2019 14:17:24 -0300 perf tools: Add a

[tip:perf/core] perf annotate: Remove hist__account_cycles() from callback

2019-05-18 Thread tip-bot for Jin Yao
Commit-ID: bdd1666b3d03d675bdb7f8d92b29f2797acbc5e8 Gitweb: https://git.kernel.org/tip/bdd1666b3d03d675bdb7f8d92b29f2797acbc5e8 Author: Jin Yao AuthorDate: Sat, 16 Mar 2019 05:16:17 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Wed, 15 May 2019 16:36:46 -0300 perf annotate

Re: [PATCH v4 3/4] perf stat: Support 'percore' event qualifier

2019-04-15 Thread Jin, Yao
On 4/16/2019 3:26 AM, Arnaldo Carvalho de Melo wrote: Em Mon, Apr 15, 2019 at 08:09:09PM +0530, Ravi Bangoria escreveu: On 4/12/19 7:29 PM, Jin Yao wrote: diff --git a/tools/perf/Documentation/perf-stat.txt b/tools/perf/Documentation/perf-stat.txt index 39c05f8..1e312c2 100644 --- a

[PATCH v4 3/4] perf stat: Support 'percore' event qualifier

2019-04-11 Thread Jin Yao
/core branch. v3: --- No change v2: --- Change 'coresum' to 'percore'. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-stat.txt | 4 tools/perf/builtin-stat.c | 21 + tools/perf/util/stat-display.c | 4

[PATCH v4 4/4] perf test: Add a simple test for term 'percore'

2019-04-11 Thread Jin Yao
It's a simple test which just checks if parser works. v4: --- No change v3: --- No change v2: --- Change 'coresum' to 'percore' Signed-off-by: Jin Yao --- tools/perf/tests/parse-events.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff

[PATCH v4 1/4] perf: Add a 'percore' event qualifier

2019-04-11 Thread Jin Yao
he code according to Jiri's comments. Before: "return term->val.percore ? true : false;" Now: "return term->val.percore;" v2: --- Change the qualifier name from 'coresum' to 'percore' according to comments from Jiri and Andi. S

[PATCH v4 0/4] perf: Support a new 'percore' event qualifier

2019-04-11 Thread Jin Yao
n. Rebase to latest perf/core branch v3: --- Simplify the patch: "perf: Add a 'percore' event qualifier" Other patches don't have changes. v2: --- 1. Change 'coresum' to 'percore'. 2. Move the aggregate counts printing to a seperate patch. Ji

[PATCH v4 2/4] perf stat: Factor out aggregate counts printing

2019-04-11 Thread Jin Yao
Move the aggregate counts printing to a new function print_counter_aggrdata, which will be used in following patches. v4: --- Rebase to latest perf/core branch. v3: --- No change v2: --- Create this patch according to Jiri's comments. Signed-off-by: Jin Yao --- tools/perf/util

Re: [PATCH v3 1/4] perf: Add a 'percore' event qualifier

2019-04-10 Thread Jin, Yao
On 4/10/2019 8:54 PM, Arnaldo Carvalho de Melo wrote: Em Wed, Apr 10, 2019 at 09:36:41AM -0300, Arnaldo Carvalho de Melo escreveu: Em Tue, Mar 19, 2019 at 04:56:53PM +0800, Jin Yao escreveu: Add a 'percore' event qualifier, like cpu/event=0,umask=0x3,percore=1/, that sums up

Re: [PATCH v3 0/4] perf: Support a new 'percore' event qualifier

2019-04-09 Thread Jin, Yao
Hi Arnaldo, Can this patch be accepted? Thanks Jin Yao On 3/19/2019 6:20 PM, Jiri Olsa wrote: On Tue, Mar 19, 2019 at 04:56:52PM +0800, Jin Yao wrote: The 'percore' event qualifier which sums up the event counts for both hardware threads in a core. For example, perf stat -e c

Re: [PATCH v3] perf annotate/report: Remove hist__account_cycles from callback

2019-03-19 Thread Jin, Yao
Nobody like this patch? :) In my test, for a 72MB perf.data (with LBR data), the perf annotate processing speed: Before: 10.2s After: 2.2s Thanks Jin Yao On 3/16/2019 5:16 AM, Jin Yao wrote: The hist__account_cycles is executed when the hist_iter__branch_callback is called. But it looks

Re: [PATCH v2 1/4] perf: Add a 'percore' event qualifier

2019-03-18 Thread Jin, Yao
On 3/18/2019 5:21 PM, Jiri Olsa wrote: On Sun, Mar 17, 2019 at 12:34:25AM +0800, Jin Yao wrote: SNIP static bool config_term_shrinked; @@ -950,6 +951,7 @@ config_term_avail(int term_type, struct parse_events_error *err) case PARSE_EVENTS__TERM_TYPE_CONFIG2: case

[PATCH v3 1/4] perf: Add a 'percore' event qualifier

2019-03-18 Thread Jin Yao
->val.percore;" v2: --- Change the qualifier name from 'coresum' to 'percore' according to comments from Jiri and Andi. Signed-off-by: Jin Yao --- tools/perf/util/evsel.c| 2 ++ tools/perf/util/evsel.h| 3 +++ tools/perf/util/parse-events.c | 2

[PATCH v3 2/4] perf stat: Factor out aggregate counts printing

2019-03-18 Thread Jin Yao
Move the aggregate counts printing to a new function print_counter_aggrdata, which will be used in following patches. v3: --- No change v2: --- Create this patch according to Jiri's comments. Signed-off-by: Jin Yao --- tools/perf/util/stat-display.c

[PATCH v3 0/4] perf: Support a new 'percore' event qualifier

2019-03-18 Thread Jin Yao
dd a 'percore' event qualifier" Other patches don't have changes. v2: --- 1. Change 'coresum' to 'percore'. 2. Move the aggregate counts printing to a seperate patch. Jin Yao (4): perf: Add a 'percore' event qualifier perf stat: Factor out

[PATCH v3 3/4] perf stat: Support 'percore' event qualifier

2019-03-18 Thread Jin Yao
Change 'coresum' to 'percore'. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-stat.txt | 4 tools/perf/builtin-stat.c | 21 + tools/perf/util/stat-display.c | 43 ++ tools/perf/util/stat.c

[PATCH v3 4/4] perf test: Add a simple test for term 'percore'

2019-03-18 Thread Jin Yao
It's a simple test which just checks if parser works. v3: --- No change v2: --- Change 'coresum' to 'percore' Signed-off-by: Jin Yao --- tools/perf/tests/parse-events.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/perf/tes

[PATCH v2 4/4] perf test: Add a simple test for term 'percore'

2019-03-16 Thread Jin Yao
It's a simple test which just checks if parser works. v2: --- Change 'coresum' to 'percore' Signed-off-by: Jin Yao --- tools/perf/tests/parse-events.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/perf/tests/parse-events.c

[PATCH v2 1/4] perf: Add a 'percore' event qualifier

2019-03-16 Thread Jin Yao
. So we need to support this per-core counting on a event level. This can be implemented in only the user tool, no kernel support needed. v2: --- Change the qualifier name from 'coresum' to 'percore' according to comments from Jiri and Andi. Signed-off-by: Jin Yao ---

[PATCH v2 2/4] perf stat: Factor out aggregate counts printing

2019-03-16 Thread Jin Yao
Move the aggregate counts printing to a new function print_counter_aggrdata, which will be used in following patches. v2: --- Create this patch according to Jiri's comments. Signed-off-by: Jin Yao --- tools/perf/util/stat-display.c | 65 +- 1

[PATCH v2 3/4] perf stat: Support 'percore' event qualifier

2019-03-16 Thread Jin Yao
From the output, we can see: S0-C0 = CPU0 + CPU4 S0-C1 = CPU1 + CPU5 S0-C2 = CPU2 + CPU6 S0-C3 = CPU3 + CPU7 So the result is expected (tiny difference is ignored). Note that, the 'percore' event qualifier needs to use with option '-A'. v2: --- Change 'c

[PATCH v2 0/4] perf: Support a new 'percore' event qualifier

2019-03-16 Thread Jin Yao
o 'percore'. 2. Move the aggregate counts printing to a seperate patch. Jin Yao (4): perf: Add a 'percore' event qualifier perf stat: Factor out aggregate counts printing perf stat: Support 'percore' event qualifier perf test: Add a simple test for term '

Re: [PATCH v1 0/3] perf: Support a new coresum event qualifier

2019-03-15 Thread Jin, Yao
be escaped in metric expressions. -Andi Oh, yes, thanks for reminding. Will use 'percore' in next version. Thanks Jin Yao

Re: [PATCH v1 2/3] perf stat: Support coresum event qualifier

2019-03-15 Thread Jin, Yao
On 3/15/2019 9:34 PM, Jiri Olsa wrote: On Sat, Mar 16, 2019 at 12:04:15AM +0800, Jin Yao wrote: SNIP +static void print_counter_aggrdata(struct perf_stat_config *config, + struct perf_evsel *counter, int s, + char *prefix

Re: [PATCH v1 0/3] perf: Support a new coresum event qualifier

2019-03-15 Thread Jin, Yao
On 3/15/2019 9:34 PM, Jiri Olsa wrote: On Sat, Mar 16, 2019 at 12:04:13AM +0800, Jin Yao wrote: The coresum event qualifier which sums up the event counts for both hardware threads in a core. For example, perf stat -e cpu/event=0,umask=0x3,coresum=1/,cpu/event=0,umask=0x3/ In this example

[PATCH v3] perf annotate/report: Remove hist__account_cycles from callback

2019-03-15 Thread Jin Yao
o change. v3: --- Fix the crash in stdio mode. Like previous code, it needs the checking of ui__has_annotation() before hist__account_cycles() v2: --- 1. Cover the similar perf report 2. Remove the checking code "ch->reset >= ch->num / 2" Signed-off-by: Jin Yao --- too

Re: [PATCH v2] perf annotate/report: Remove hist__account_cycles from callback

2019-03-15 Thread Jin, Yao
On 3/15/2019 8:54 PM, Jiri Olsa wrote: On Fri, Mar 15, 2019 at 09:46:01PM +0800, Jin Yao wrote: The hist__account_cycles is executed when the hist_iter__branch_callback is called. But it looks it's not necessary. In hist__account_cycles, it already walks on all branch entries. This

[PATCH v1 0/3] perf: Support a new coresum event qualifier

2019-03-15 Thread Jin Yao
an already support per-core counting with --per-core, but it's often useful to do this together with other metrics that are collected per CPU (per hardware thread). So this patch series supports this per-core counting on a event level. Jin Yao (3): perf: Add a coresum event qualifier per

[PATCH v1 3/3] perf test: Add a simple test for term coresum

2019-03-15 Thread Jin Yao
It's a simple test which just checks if parser works. Signed-off-by: Jin Yao --- tools/perf/tests/parse-events.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c index 4a69c07..8d741d4 100644

[PATCH v1 2/3] perf stat: Support coresum event qualifier

2019-03-15 Thread Jin Yao
r-core and per-CPU in one perf stat command-line. From the output, we can see: S0-C0 = CPU0 + CPU4 S0-C1 = CPU1 + CPU5 S0-C2 = CPU2 + CPU6 S0-C3 = CPU3 + CPU7 So the result is expected (tiny difference is ignored). Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-stat.txt | 4

[PATCH v1 1/3] perf: Add a coresum event qualifier

2019-03-15 Thread Jin Yao
ed to support this per-core counting on a event level. This can be implemented in only the user tool, no kernel support needed. Signed-off-by: Jin Yao --- tools/perf/util/evsel.c| 2 ++ tools/perf/util/evsel.h| 3 +++ tools/perf/util/parse-events.c | 27 +++

[PATCH v2] perf annotate/report: Remove hist__account_cycles from callback

2019-03-14 Thread Jin Yao
nge. v2: --- 1. Cover the similar perf report 2. Remove the checking code "ch->reset >= ch->num / 2" Signed-off-by: Jin Yao --- tools/perf/builtin-annotate.c | 4 ++-- tools/perf/builtin-report.c | 9 +++-- tools/perf/util/annotate.c| 2 +- 3 files changed, 6 i

Re: [PATCH] perf annotate: Remove hist__account_cycles from callback

2019-03-14 Thread Jin, Yao
On 3/14/2019 10:17 PM, Jin, Yao wrote: On 3/14/2019 8:04 PM, Jiri Olsa wrote: On Wed, Mar 13, 2019 at 04:22:54AM +0800, Jin Yao wrote: The hist__account_cycles is executed when the hist_iter__branch_callback is called. But it looks it's not necessary. In hist__account_cycles, it al

Re: [PATCH] perf annotate: Remove hist__account_cycles from callback

2019-03-14 Thread Jin, Yao
On 3/14/2019 8:04 PM, Jiri Olsa wrote: On Wed, Mar 13, 2019 at 04:22:54AM +0800, Jin Yao wrote: The hist__account_cycles is executed when the hist_iter__branch_callback is called. But it looks it's not necessary. In hist__account_cycles, it already walks on all branch entries. This

Re: [PATCH] perf annotate: Remove hist__account_cycles from callback

2019-03-14 Thread Jin, Yao
Any comments for this patch or any issue is found? In testing, I just feel it accelerates the perf annotate data processing. Thanks Jin Yao On 3/13/2019 4:22 AM, Jin Yao wrote: The hist__account_cycles is executed when the hist_iter__branch_callback is called. But it looks it's not nece

[PATCH] perf annotate: Remove hist__account_cycles from callback

2019-03-12 Thread Jin Yao
For example, perf record -b ... perf annotate The before/after output should be no change. Signed-off-by: Jin Yao --- tools/perf/builtin-annotate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c index 67

[tip:perf/urgent] perf diff: Support --pid/--tid filter options

2019-03-09 Thread tip-bot for Jin Yao
Commit-ID: c1d3e633e16db3eb64f519c7099171bfcef94b20 Gitweb: https://git.kernel.org/tip/c1d3e633e16db3eb64f519c7099171bfcef94b20 Author: Jin Yao AuthorDate: Tue, 5 Mar 2019 21:05:43 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Wed, 6 Mar 2019 18:06:16 -0300 perf diff: Support

[tip:perf/urgent] perf diff: Support --cpu filter option

2019-03-09 Thread tip-bot for Jin Yao
Commit-ID: daca23b2007595b6a48255ca08c763f56050d1c5 Gitweb: https://git.kernel.org/tip/daca23b2007595b6a48255ca08c763f56050d1c5 Author: Jin Yao AuthorDate: Tue, 5 Mar 2019 21:05:42 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Wed, 6 Mar 2019 18:05:21 -0300 perf diff: Support

[tip:perf/urgent] perf diff: Support --time filter option

2019-03-09 Thread tip-bot for Jin Yao
Commit-ID: 4802138d78caed36cee2a859f77fb2035f230018 Gitweb: https://git.kernel.org/tip/4802138d78caed36cee2a859f77fb2035f230018 Author: Jin Yao AuthorDate: Tue, 5 Mar 2019 21:05:41 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Wed, 6 Mar 2019 18:03:23 -0300 perf diff: Support

[tip:perf/urgent] perf time-utils: Refactor time range parsing code

2019-03-09 Thread tip-bot for Jin Yao
Commit-ID: 284c4e18f55e85155fbcbef5f88b6e62d2b1c29c Gitweb: https://git.kernel.org/tip/284c4e18f55e85155fbcbef5f88b6e62d2b1c29c Author: Jin Yao AuthorDate: Fri, 1 Mar 2019 18:13:06 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Fri, 1 Mar 2019 11:03:53 -0300 perf time-utils

[PATCH v4 3/3] perf diff: Support --pid/--tid filter options

2019-03-04 Thread Jin Yao
For better filtering support for perf diff, it would be useful to add --pid and --tid filter options. For example, perf diff --tid 13965 It only diff the samples for thread 13965. v4: --- No logical changes. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 6

[PATCH v4 1/3] perf diff: Support --time filter option

2019-03-04 Thread Jin Yao
dup is failed, and update __cmd_diff() accordingly. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 41 + tools/perf/builtin-diff.c | 148 + 2 files changed, 175 insertions(+), 14 deletions(-) diff --git a/tools/perf/

[PATCH v4 2/3] perf diff: Support --cpu filter option

2019-03-04 Thread Jin Yao
samples for CPU0 and CPU1. v4: --- No logical changes Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 5 + tools/perf/builtin-diff.c | 16 2 files changed, 21 insertions(+) diff --git a/tools/perf/Documentation/perf-diff.txt b/tools/perf

[PATCH v4 0/3] perf diff: Add new filter options

2019-03-04 Thread Jin Yao
it return error if strdup is failed, and update __cmd_diff() accordingly. Only the patch "perf diff: Support --time filter option" is impacted Others are no logical changes. Jin Yao (3): perf diff: Support --time filter option perf diff: Support --cpu filter option perf di

Re: [PATCH v3 1/3] perf diff: Support --time filter option

2019-03-04 Thread Jin, Yao
On 3/4/2019 11:41 PM, Jiri Olsa wrote: On Mon, Mar 04, 2019 at 08:52:38PM +0800, Jin Yao wrote: For better support for perf diff, it would be useful to add --time filter option to diff the samples within given time window. It supports time percent with multipe time ranges. Time string is &#

[PATCH v3 1/3] perf diff: Support --time filter option

2019-03-03 Thread Jin Yao
is not set. Refactor the code to make it simpler. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 41 ++ tools/perf/builtin-diff.c | 136 + 2 files changed, 164 insertions(+), 13 deletions(-) diff --git a/tools/perf/Docu

[PATCH v3 2/3] perf diff: Support --cpu filter option

2019-03-03 Thread Jin Yao
samples for CPU0 and CPU1. v3: --- No logical changes Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 5 + tools/perf/builtin-diff.c | 16 2 files changed, 21 insertions(+) diff --git a/tools/perf/Documentation/perf-diff.txt b/tools/perf

[PATCH v3 3/3] perf diff: Support --pid/--tid filter options

2019-03-03 Thread Jin Yao
For better filtering support for perf diff, it would be useful to add --pid and --tid filter options. For example, perf diff --tid 13965 It only diff the samples for thread 13965. v3: --- No logical changes. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 6

[PATCH v3 0/3] perf diff: Add new filter options

2019-03-03 Thread Jin Yao
diff: Support --time filter option" according to Jiri's comments. Others are no logical changes. Jin Yao (3): perf diff: Support --time filter option perf diff: Support --cpu filter option perf diff: Support --pid/--tid filter options tools/perf/Documentation/pe

[PATCH v2] perf util: Refactor time range parsing code

2019-02-28 Thread Jin Yao
eport --time 0%-10%,30%-40% perf script --time 0%-10%,30%-40% Select the time slices from timestamp 3971 to 3973 perf report --time 3971,3973 perf script --time 3971,3973 v2: --- Add some examples in patch description. No functional changes. Signed-off-by: Jin Yao --- tools/perf/bu

Re: [PATCH] perf util: Refactor time range parsing code

2019-02-28 Thread Jin, Yao
On 3/1/2019 1:57 AM, Arnaldo Carvalho de Melo wrote: Em Thu, Feb 28, 2019 at 10:30:09PM +0800, Jin Yao escreveu: Jiri points out that we don't need any time checking and time string parsing if the --time option is not set. That makes sense. This patch refactors the time range parsing

[PATCH] perf util: Refactor time range parsing code

2019-02-27 Thread Jin Yao
efore parsing the time string. Signed-off-by: Jin Yao --- tools/perf/builtin-report.c | 38 +++-- tools/perf/builtin-script.c | 39 +++-- tools/perf/util/time-utils.c | 51 +++- tools/perf/util/time-utils.h

Re: [PATCH v2 1/3] perf diff: Support --time filter option

2019-02-27 Thread Jin, Yao
On 2/27/2019 9:10 PM, Jiri Olsa wrote: On Wed, Feb 27, 2019 at 08:51:44PM +0800, Jin, Yao wrote: On 2/27/2019 5:28 PM, Jiri Olsa wrote: On Tue, Feb 26, 2019 at 08:11:07PM +0800, Jin Yao wrote: SNIP + .ordered_events = true, + .ordering_requires_timestamps

Re: [PATCH v2 1/3] perf diff: Support --time filter option

2019-02-27 Thread Jin, Yao
On 2/27/2019 5:27 PM, Jiri Olsa wrote: On Tue, Feb 26, 2019 at 08:11:07PM +0800, Jin Yao wrote: SNIP + abstime_tmp = abstime_ostr; data__for_each_file(i, d) { - d->session = perf_session__new(&d->data, false, &tool); + d->session =

Re: [PATCH v2 1/3] perf diff: Support --time filter option

2019-02-27 Thread Jin, Yao
On 2/27/2019 5:28 PM, Jiri Olsa wrote: On Tue, Feb 26, 2019 at 08:11:07PM +0800, Jin Yao wrote: SNIP + .ordered_events = true, + .ordering_requires_timestamps = true, + }, }; static struct perf_evsel *evsel_match(struct perf_evsel *evsel

[PATCH v2 1/3] perf diff: Support --time filter option

2019-02-25 Thread Jin Yao
e, put the time string processing code to separate functions and align the memebers in perf_diff. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 41 tools/perf/builtin-diff.c | 167 ++--- 2 files changed, 195 insertion

[PATCH v2 2/3] perf diff: Support --cpu filter option

2019-02-25 Thread Jin Yao
samples for CPU0 and CPU1. v2: --- No functional change. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 5 + tools/perf/builtin-diff.c | 16 2 files changed, 21 insertions(+) diff --git a/tools/perf/Documentation/perf-diff.txt b/tools

[PATCH v2 0/3] perf diff: Add new filter options

2019-02-25 Thread Jin Yao
diff: Support --time filter option" according to Jiri's comments. Others are no functional changes. Jin Yao (3): perf diff: Support --time filter option perf diff: Support --cpu filter option perf diff: Support --pid/--tid filter options tools/perf/Documentation/

[PATCH v2 3/3] perf diff: Support --pid/--tid filter options

2019-02-25 Thread Jin Yao
For better filtering support for perf diff, it would be useful to add --pid and --tid filter options. For example, perf diff --tid 13965 It only diff the samples for thread 13965. v2: --- No functional change. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 6

Re: [PATCH v1 1/3] perf diff: Support --time filter option

2019-02-25 Thread Jin, Yao
On 2/25/2019 10:19 PM, Jiri Olsa wrote: On Mon, Feb 25, 2019 at 10:12:08PM +0800, Jin, Yao wrote: On 2/25/2019 9:38 PM, Jiri Olsa wrote: On Mon, Feb 25, 2019 at 09:42:42PM +0800, Jin Yao wrote: SNIP COMPARISON -- The comparison is governed by the baseline file. The

Re: [PATCH v1 1/3] perf diff: Support --time filter option

2019-02-25 Thread Jin, Yao
On 2/25/2019 9:38 PM, Jiri Olsa wrote: On Mon, Feb 25, 2019 at 09:42:42PM +0800, Jin Yao wrote: SNIP COMPARISON -- The comparison is governed by the baseline file. The baseline perf.data diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c index 751e197..ddc41e7

[PATCH v1 0/3] perf diff: Add new filter options

2019-02-24 Thread Jin Yao
s for CPU0 and CPU1. --pid: Only diff samples for given process ID (comma separated list). --tid: Only diff samples for given thread ID (comma separated list). For example, perf diff --tid 13965 It only diff the samples for thread 13965. Jin Yao (3): perf diff: Support -

[PATCH v1 3/3] perf diff: Support --pid/--tid filter options

2019-02-24 Thread Jin Yao
For better filtering support for perf diff, it would be useful to add --pid and --tid filter options. For example, perf diff --tid 13965 It only diff the samples for thread 13965. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 6 ++ tools/perf/builtin-diff.c

[PATCH v1 2/3] perf diff: Support --cpu filter option

2019-02-24 Thread Jin Yao
samples for CPU0 and CPU1. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-diff.txt | 5 + tools/perf/builtin-diff.c | 16 2 files changed, 21 insertions(+) diff --git a/tools/perf/Documentation/perf-diff.txt b/tools/perf/Documentation/perf-diff.txt

[PATCH v1 1/3] perf diff: Support --time filter option

2019-02-24 Thread Jin Yao
3971.150589 ... perf diff --time 3946.361400,:3971.150589, It analyzes the perf.data.old from the timestamp 3946.361400 to the end of perf.data.old and analyzes the perf.data from the timestamp 3971.150589 to the end of perf.data. Signed-off-by: Jin Yao --- tools/perf/Documentat

Re: [PATCH] perf/core: don't WARN for impossible rb sizes

2019-02-12 Thread Jin, Yao
On 2/12/2019 9:07 PM, Peter Zijlstra wrote: On Tue, Feb 12, 2019 at 10:42:38AM +0800, Jin, Yao wrote: diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c index 4a9937076331..309ef5a64af5 100644 --- a/kernel/events/ring_buffer.c +++ b/kernel/events/ring_buffer.c @@ -734,6

Re: [PATCH] perf/core: don't WARN for impossible rb sizes

2019-02-11 Thread Jin, Yao
ail directly. Is it really correct? Could you help to look at this? BTW, I tested with Arnaldo's perf/core branch. Thanks Jin Yao On 1/10/2019 10:27 PM, Mark Rutland wrote: The perf tool uses /proc/sys/kernel/perf_event_mlock_kb to determine how large its ringbuffer mmap should be. Thi

Re: [PATCH v2] Poll for monitored tasks being alive in fork mode

2019-01-21 Thread Jin, Yao
Hi Arnaldo, Is this patch acceptable? Thanks Jin Yao On 1/7/2019 5:05 PM, Jiri Olsa wrote: On Mon, Jan 07, 2019 at 09:00:50AM +0800, Jin Yao wrote: Following test shows the stat keeps running even if no longer task to monitor (mgen exits at ~5s). perf stat -e cycles -p `pgrep mgen` -I1000

[tip:perf/urgent] perf report: Fix wrong iteration count in --branch-history

2019-01-08 Thread tip-bot for Jin Yao
Commit-ID: a3366db06bb656cef2e03f30f780d93059bcc594 Gitweb: https://git.kernel.org/tip/a3366db06bb656cef2e03f30f780d93059bcc594 Author: Jin Yao AuthorDate: Fri, 4 Jan 2019 14:10:30 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Fri, 4 Jan 2019 12:54:49 -0300 perf report: Fix

[tip:perf/urgent] perf stat: Fix endless wait for child process

2019-01-08 Thread tip-bot for Jin Yao
Commit-ID: 8a99255a50c0b4c2a449b96fd8d45fcc8d72c701 Gitweb: https://git.kernel.org/tip/8a99255a50c0b4c2a449b96fd8d45fcc8d72c701 Author: Jin Yao AuthorDate: Thu, 3 Jan 2019 15:40:45 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Thu, 3 Jan 2019 12:12:18 -0300 perf stat: Fix

[PATCH v2] Poll for monitored tasks being alive in fork mode

2019-01-06 Thread Jin Yao
ntial race condition window, that is the child_pid set with -1 and kill(-1, SIGTERM) may happen. Jiri provides a simple method which stores the child_pid to a local variable and check the local variable before kill(). At least, we can avoid the kill(-1, SIGTERM) case. Signed-off-by: Jin Yao ---

Re: [PATCH] perf stat: Poll for monitored tasks being alive in fork mode

2019-01-06 Thread Jin, Yao
On 1/6/2019 9:25 PM, Jiri Olsa wrote: On Sat, Jan 05, 2019 at 11:16:40AM +0800, Jin, Yao wrote: On 1/4/2019 8:54 PM, Jiri Olsa wrote: On Fri, Jan 04, 2019 at 10:28:17AM +0800, Jin Yao wrote: Following test shows the stat keeps running even if no longer task to monitor (mgen exits at ~5s

Re: [PATCH] perf stat: Poll for monitored tasks being alive in fork mode

2019-01-04 Thread Jin, Yao
On 1/4/2019 8:54 PM, Jiri Olsa wrote: On Fri, Jan 04, 2019 at 10:28:17AM +0800, Jin Yao wrote: Following test shows the stat keeps running even if no longer task to monitor (mgen exits at ~5s). perf stat -e cycles -p `pgrep mgen` -I1000 -- sleep 10 time counts unit

[PATCH] perf report: Fix wrong iteration count

2019-01-03 Thread Jin Yao
les:1 iter:1 avg_cycles:23) avg_cycles:23 is the average cycles of this iteration. Fixes: c4ee06251d42 ("perf report: Calculate the average cycles of iterations") Signed-off-by: Jin Yao --- tools/perf/util/callchain.c | 32 tools/perf/util/callchain.

[PATCH] perf stat: Poll for monitored tasks being alive in fork mode

2019-01-03 Thread Jin Yao
cycles 3.000609910 1,297,047,663 cycles 4.000807545 1,297,215,816 cycles 5.001001578 1,297,208,032 cycles 6.001390345582,343,659 cycles sleep: Terminated Now the stat exits immediately when the monitored tasks ends. Signed-off-by: Jin Yao

[PATCH] perf stat: Fix endless wait for child process

2019-01-02 Thread Jin Yao
because it's waiting for the child process "sleep 1000" to be end. So perf stat doesn't return even 5s passed. This patch lets the perf stat return when the specified child process is end (in this case, specified child process is "sleep 5"). Signed-off-by: Jin Yao ---

[tip:perf/core] perf report: Documentation average IPC and IPC coverage

2018-12-18 Thread tip-bot for Jin Yao
Commit-ID: 239ca3e78609378a1ed5d9db1c7db629a71c2857 Gitweb: https://git.kernel.org/tip/239ca3e78609378a1ed5d9db1c7db629a71c2857 Author: Jin Yao AuthorDate: Fri, 30 Nov 2018 21:54:57 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Mon, 17 Dec 2018 14:55:49 -0300 perf report

[tip:perf/core] perf annotate: Create a annotate2 flag in struct symbol

2018-12-18 Thread tip-bot for Jin Yao
Commit-ID: 246fda09c127e689780d32ef72f2e870615ece3f Gitweb: https://git.kernel.org/tip/246fda09c127e689780d32ef72f2e870615ece3f Author: Jin Yao AuthorDate: Fri, 30 Nov 2018 21:54:55 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Mon, 17 Dec 2018 14:55:40 -0300 perf annotate

[tip:perf/core] perf report: Display average IPC and IPC coverage per symbol

2018-12-18 Thread tip-bot for Jin Yao
Commit-ID: ec6ae74fe8f00c7df018628ada9d33190de72efa Gitweb: https://git.kernel.org/tip/ec6ae74fe8f00c7df018628ada9d33190de72efa Author: Jin Yao AuthorDate: Fri, 30 Nov 2018 21:54:56 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Mon, 17 Dec 2018 14:55:44 -0300 perf report

[tip:perf/core] perf annotate: Compute average IPC and IPC coverage per symbol

2018-12-18 Thread tip-bot for Jin Yao
Commit-ID: ace4f8faea54f62521e349f70b49797e48873e1f Gitweb: https://git.kernel.org/tip/ace4f8faea54f62521e349f70b49797e48873e1f Author: Jin Yao AuthorDate: Fri, 30 Nov 2018 21:54:54 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Mon, 17 Dec 2018 14:55:32 -0300 perf annotate

[tip:perf/core] perf annotate: Compute average IPC and IPC coverage per symbol

2018-12-14 Thread tip-bot for Jin Yao
Commit-ID: 9d2a4fa18816c8a7c4df5873755b92956f6a7128 Gitweb: https://git.kernel.org/tip/9d2a4fa18816c8a7c4df5873755b92956f6a7128 Author: Jin Yao AuthorDate: Fri, 30 Nov 2018 21:54:54 +0800 Committer: Arnaldo Carvalho de Melo CommitDate: Fri, 30 Nov 2018 17:14:52 -0300 perf annotate

<    1   2   3   4   5   6   7   8   9   10   >