_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
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/
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
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
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
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
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
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
, 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
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
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
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
(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
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
-
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
)
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
-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
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
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
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
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
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
/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
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
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
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
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
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
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
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
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
->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
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
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
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
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
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
.
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
---
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
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
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 '
be escaped in metric expressions.
-Andi
Oh, yes, thanks for reminding. Will use 'percore' in next version.
Thanks
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
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
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
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
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
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
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
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 +++
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
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
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
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
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
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
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
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
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
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
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/
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
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
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
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
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
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
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
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
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
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
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
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 =
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
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
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
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/
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
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
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
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 -
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
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
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
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
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
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
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
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
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
---
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
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
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.
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
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
---
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
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
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
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
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
501 - 600 of 1001 matches
Mail list logo