[PATCH v9] perf stat: Fix wrong skipping for per-die aggregation

2021-01-27 Thread Jin Yao
llc_misses.mem_read On no-die system, die_id is 0, actually it's hashmap(socket,0), original behavior is not changed. Reported-by: Huang Ying Signed-off-by: Jin Yao --- v9: Rename zero_per_pkg to evsel__zero_per_pkg and move it to evsel.c. Then evsel__zero_per_pkg can be called under

Re: [PATCH 1/2] perf script: Support filtering by hex address

2021-01-27 Thread Jin, Yao
currently it uses 'int' for i in struct int_node, maybe something I don't understand correctly. Please correct me if my understanding is wrong. Thanks Jin Yao

[PATCH] perf stat: Fix wrong skipping for per-die aggregation

2020-12-15 Thread Jin Yao
2230848 Bytes llc_misses.mem_read On no-die system, die_id is 0, this patch keeps original behavior unchanged. Reported-by: Huang Ying Signed-off-by: Jin Yao --- tools/perf/util/cpumap.h | 2 ++ tools/perf/util/stat.c | 21 + 2 files changed, 19 insertions(+), 4 deletions

Re: [PATCH] pinctrl-baytrail: workaround for irq descriptor conflict on ASUS T100TA

2014-04-22 Thread Jin, Yao
On 2014/4/22 21:18, Linus Walleij wrote: > On Mon, Apr 14, 2014 at 4:48 AM, Jin, Yao wrote: > >> A crash is triggered on the ASUS T100TA Baytrail-T because of a IRQ >> descriptor conflict. There are two gpio triggered acpi events in this >> device, GPIO 6 and 18. These

Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA

2014-04-24 Thread Jin, Yao
On 2014/4/23 20:23, Mika Westerberg wrote: > On Wed, Apr 23, 2014 at 11:34:30AM +0300, Mika Westerberg wrote: >> On Tue, Apr 22, 2014 at 10:16:50PM -0700, Adam Williamson wrote: >>> Well, I can't actually concur. See my results in >>> https://bugzilla.kernel.org/show_bug.cgi?id=68291#c44 . >>> >>

Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA

2014-04-25 Thread Jin, Yao
On 2014/4/25 5:33, Adam Williamson wrote: > On Thu, 2014-04-24 at 21:30 +0800, Jin, Yao wrote: > >>> Jin, do you have any idea what is going on? >>> >> >> Maybe neither the patch (http://dougvj.net/baytrail_gpio_quirk_v3.patch) >> nor my patch break

Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA

2014-04-25 Thread Jin, Yao
On 2014/4/25 17:40, Mika Westerberg wrote: > [+Aubrey] > > On Fri, Apr 25, 2014 at 03:27:42PM +0800, Jin, Yao wrote: >> >> >> On 2014/4/25 5:33, Adam Williamson wrote: >>> On Thu, 2014-04-24 at 21:30 +0800, Jin, Yao wrote: >>> >

Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA

2014-04-25 Thread Jin, Yao
On 2014/4/25 23:13, Adam Williamson wrote: > On Fri, 2014-04-25 at 11:32 +0200, Linus Walleij wrote: >> On Thu, Apr 24, 2014 at 11:33 PM, Adam Williamson >> wrote: >> >>> Well, I just ran another test too. I built a kernel (3.15rc2) with both >>> v3 of Doug's SDIO device enumeration patch - >>>

Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA

2014-04-25 Thread Jin, Yao
On 2014/4/26 11:04, Jin, Yao wrote: > > > On 2014/4/25 23:13, Adam Williamson wrote: >> On Fri, 2014-04-25 at 11:32 +0200, Linus Walleij wrote: >>> On Thu, Apr 24, 2014 at 11:33 PM, Adam Williamson >>> wrote: >>> >>>> Well, I just ran

[PATCH] pinctrl-baytrail: workaround for irq descriptor conflict on ASUS T100TA

2014-04-13 Thread Jin, Yao
the IRQ conflict. It still uses the irq domain to allocate irq descriptor but start from a predefined irq base number (256). Signed-off-by: Jin Yao --- drivers/pinctrl/pinctrl-baytrail.c | 37 + 1 file changed, 29 insertions(+), 8 deletions(-) diff --gi

[PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA

2014-04-16 Thread Jin Yao
ict. It still uses the irq domain to allocate irq descriptor but start from a predefined irq base number (256) to avoid the conflict. Signed-off-by: Jin Yao --- drivers/pinctrl/pinctrl-baytrail.c | 37 + 1 file changed, 29 insertions(+), 8 deletions(-) diff --

Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA

2014-04-20 Thread Jin, Yao
On 2014/4/19 4:44, Benjamin Tissoires wrote: > On Wed, Apr 16, 2014 at 8:05 AM, Jin Yao wrote: >> A crash is triggered on the ASUS T100TA Baytrail-T because of a irq >> descriptor conflict. There are two gpio triggered acpi events in this >> device, GPIO 6 and 18. These gp

Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA

2014-04-20 Thread Jin, Yao
On 2014/4/20 18:31, Jin, Yao wrote: > > > On 2014/4/19 4:44, Benjamin Tissoires wrote: >> On Wed, Apr 16, 2014 at 8:05 AM, Jin Yao wrote: >>> A crash is triggered on the ASUS T100TA Baytrail-T because of a irq >>> descriptor conflict. There are two gpio trigger

Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA

2014-04-20 Thread Jin, Yao
On 2014/4/20 23:28, Adam Williamson wrote: > On Sun, 2014-04-20 at 20:08 +0800, Jin, Yao wrote: >> For the issue that touch screen doesn't work, could you check power >> state of LPSS devices? For example: >> >> cd /sys/bus/acpi/devices >> grep -H . */po

Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA

2014-04-21 Thread Jin, Yao
On 2014/4/21 14:27, Jin, Yao wrote: > > > On 2014/4/20 23:28, Adam Williamson wrote: >> On Sun, 2014-04-20 at 20:08 +0800, Jin, Yao wrote: >>> For the issue that touch screen doesn't work, could you check power >>> state of LPSS devices? For example: >

Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA

2014-04-22 Thread Jin, Yao
Thanks Mika, I will fix this warning. On 2014/4/22 19:51, Mika Westerberg wrote: > On Wed, Apr 16, 2014 at 08:05:59PM +0800, Jin Yao wrote: >> A crash is triggered on the ASUS T100TA Baytrail-T because of a irq >> descriptor conflict. There are two gpio triggered acpi events in

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 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

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
be escaped in metric expressions. -Andi Oh, yes, thanks for reminding. Will use 'percore' in next version. Thanks Jin Yao

[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 '

[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 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 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 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 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

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

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 v1 2/4] perf vendor events intel: Update cascadelakex uncore events to v1.04

2019-08-30 Thread Jin, Yao
On 8/31/2019 2:22 AM, Arnaldo Carvalho de Melo wrote: Em Wed, Aug 28, 2019 at 01:59:30PM +0800, Jin Yao escreveu: From: Haiyan Song Not applying, please check, will apply the other 3 patches in the series, next time please try to collect some Acked-by in advance. - Arnaldo Hi

[PATCH v7] perf diff: Report noisy for cycles diff

2019-09-02 Thread Jin Yao
tion ‘compute_cycles_diff’: builtin-diff.c:712:10: error: taking the absolute value of unsigned type ‘u64’ {aka ‘long unsigned int’} has no effect [-Werror=absolute-value] 712 | labs(pair->block_info->cycles_spark[i] - | ^~~~ Because the result of u64 - u64

Re: [PATCH v4] perf diff: Report noisy for cycles diff

2019-08-15 Thread Jin, Yao
On 8/15/2019 9:22 PM, Jiri Olsa wrote: On Tue, Aug 13, 2019 at 03:30:37PM +0800, Jin Yao wrote: SNIP static void hpp__entry_unpair(struct hist_entry *he, int idx, char *buf, size_t size) { @@ -1662,6 +1794,10 @@ static void data__hpp_register(struct data__file *d, int idx

Re: [PATCH v4] perf diff: Report noisy for cycles diff

2019-08-15 Thread Jin, Yao
On 8/15/2019 9:23 PM, Jiri Olsa wrote: On Tue, Aug 13, 2019 at 03:30:37PM +0800, Jin Yao wrote: This patch prints the stddev and hist for the cycles diff of program block. It can help us to understand if the cycles is noisy or not. This patch is inspired by Andi Kleen's patch

[PATCH v5] perf diff: Report noisy for cycles diff

2019-08-15 Thread Jin Yao
struct stats v2: --- Jiri got a compile error, CC builtin-diff.o builtin-diff.c: In function ‘compute_cycles_diff’: builtin-diff.c:712:10: error: taking the absolute value of unsigned type ‘u64’ {aka ‘long unsigned int’} has no effect [-Werror=absolute-value] 712 |

[PATCH v1 1/4] perf util: Change convert_scale from static to global

2019-08-27 Thread Jin Yao
ale and changes the function to global. No functional change. Signed-off-by: Jin Yao --- tools/perf/util/pmu.c | 6 +++--- tools/perf/util/pmu.h | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c index 9807be6f09bb..8e35e97ecf90

[PATCH v1 3/4] perf util: Scale the metric result

2019-08-27 Thread Jin Yao
;, "ScaleUnit": "60ns", "UMask": "0x1", "Unit": "iMC" }, For above example, the ratio should be, ratio = (UNC_M_PMM_RPQ_OCCUPANCY.ALL / UNC_M_PMM_RPQ_INSERTS / UNC_M_CLOCKTICKS) * 60 But in current cod

[PATCH v1 2/4] perf vendor events intel: Update cascadelakex uncore events to v1.04

2019-08-27 Thread Jin Yao
From: Haiyan Song Signed-off-by: Haiyan Song --- .../arch/x86/cascadelakex/uncore-memory.json | 191 ++ .../arch/x86/cascadelakex/uncore-other.json | 1809 - 2 files changed, 1971 insertions(+), 29 deletions(-) diff --git a/tools/perf/pmu-events/arch/x86/cascadelakex/uncore

[PATCH v1 0/4] perf: Fix uncore metric issue

2019-08-27 Thread Jin Yao
UNC_M_PMM_READ_LATENCY'. Haiyan Song (1): perf vendor events intel: Update cascadelakex uncore events to v1.04 Jin Yao (3): perf util: Change convert_scale from static to global perf util: Scale the metric result perf util: Support multiple events for metricgroup .../arch/x86/c

[PATCH v1 4/4] perf util: Support multiple events for metricgroup

2019-08-27 Thread Jin Yao
6356 unc_m_clockticks 1.001749103 seconds time elapsed Now we can see the correct metrics 'UNC_M_PMM_BANDWIDTH.TOTAL' and 'UNC_M_PMM_READ_LATENCY'. Signed-off-by: Jin Yao --- tools/perf/util/evsel.h | 1 + tools/perf/util/metricgroup.c | 84 +

Re: [PATCH v8] perf diff: Report noisy for cycles diff

2019-09-29 Thread Jin, Yao
Hi Jiri, Hi Arnaldo, Can this patch be accepted? Thanks Jin Yao On 9/25/2019 9:14 AM, Jin Yao wrote: This patch prints the stddev and hist for the cycles diff of program block. It can help us to understand if the cycles is noisy or not. This patch is inspired by Andi Kleen's patch

[PATCH v1 3/5] perf report: Sort by sampled cycles percent per block for stdio

2019-10-08 Thread Jin Yao
1 [perf_event_nmi_handler+57 -> perf_event_nmi_handler+63] [kernel.kallsyms] 0.00% 10.02% 1 [perf_event_nmi_handler+68 -> perf_event_nmi_handler+74] [kernel.kallsyms] Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-re

[PATCH v1 1/5] perf util: Create new block.h/block.c for block related functions

2019-10-08 Thread Jin Yao
We have already implemented some block related functions. Now it's time to do some cleanup, and move the functions and structures to the new block.h/block.c. Signed-off-by: Jin Yao --- tools/perf/builtin-diff.c | 38 ++- tools/perf/util/Build | 1 + tools/perf

[PATCH v1 5/5] perf report: Sort by sampled cycles percent per block for tui

2019-10-08 Thread Jin Yao
[random_r.c:388 -> random_r.c:388] libc-2.27.so 1.57% 123.3K0.02% 1 [div.c:42 -> div.c:44] div 1.44% 116.0K0.42% 19 [r

[PATCH v1 4/5] perf report: Support --percent-limit for total_cycles

2019-10-08 Thread Jin Yao
116.0K0.42% 19 [random_r.c:357 -> random_r.c:394] libc-2.27.so It only shows the entries which 'Sampled Cycles%' > 1%. Signed-off-by: Jin Yao --- tools/perf/builtin-report.c | 2 +- tools/perf/ui/stdio/hist.c | 7 ++-

[PATCH v1 0/5] perf report: Support sorting all blocks by cycles

2019-10-08 Thread Jin Yao
0.02% 1 [div.c:42 -> div.c:44] div 1.44% 116.0K0.42% 19 [random_r.c:357 -> random_r.c:394] libc-2.27.so .. This patch series support

[PATCH v1 2/5] perf util: Count the total cycles of all samples

2019-10-08 Thread Jin Yao
a new argument 'total_cycles' in hist__account_cycles(), which will be added with the cycles of each sample. Signed-off-by: Jin Yao --- tools/perf/builtin-annotate.c | 2 +- tools/perf/builtin-diff.c | 3 ++- tools/perf/builtin-report.c | 2 +- tools/perf/builtin-top.c | 3 ++-

Re: [PATCH v1 0/2] perf stat: Support --all-kernel and --all-user

2019-10-09 Thread Jin, Yao
atch which just follows the perf-record behavior. Thanks Jin Yao

Re: [PATCH v1 0/2] perf stat: Support --all-kernel and --all-user

2019-10-10 Thread Jin, Yao
On 10/10/2019 4:00 PM, Jiri Olsa wrote: On Thu, Oct 10, 2019 at 02:46:36PM +0800, Jin, Yao wrote: On 10/1/2019 10:17 AM, Andi Kleen wrote: I think it's useful. Makes it easy to do kernel/user break downs. perf record should support the same. Don't we have this already with: [

Re: [PATCH v7] perf diff: Report noisy for cycles diff

2019-09-20 Thread Jin, Yao
Hi, Can this patch be accepted? Thanks Jin Yao On 9/3/2019 10:03 AM, Jin Yao wrote: This patch prints the stddev and hist for the cycles diff of program block. It can help us to understand if the cycles is noisy or not. This patch is inspired by Andi Kleen's patch https://lwn.net/Art

[PATCH v8] perf diff: Report noisy for cycles diff

2019-09-24 Thread Jin Yao
-diff.o builtin-diff.c: In function ‘compute_cycles_diff’: builtin-diff.c:712:10: error: taking the absolute value of unsigned type ‘u64’ {aka ‘long unsigned int’} has no effect [-Werror=absolute-value] 712 | labs(pair->block_info->cycles_spark[i] - |

[PATCH v1 1/2] perf stat: Support --all-kernel and --all-user options

2019-09-24 Thread Jin Yao
2. In perf-record, it has already supported the --all-kernel and --all-user, but they can't be combined. We should keep the behavior consistent among all perf subtools. So if this patch can be accepted, will post follow-up patches for supporting other subtools for the same beha

[PATCH v1 2/2] perf stat: Support topdown with --all-kernel/--all-user

2019-09-24 Thread Jin Yao
1.5% 83.9% 1.000773028 seconds time elapsed Signed-off-by: Jin Yao --- tools/perf/builtin-stat.c | 37 +++- tools/perf/util/stat-shadow.c | 167 +- tools/perf/util/stat.h| 12 +++ 3 files changed, 171 insertions(+), 45 delet

[PATCH v1 0/2] perf stat: Support --all-kernel and --all-user

2019-09-24 Thread Jin Yao
771709 seconds time elapsed More detail information are in the patch descriptions. Jin Yao (2): perf stat: Support --all-kernel and --all-user options perf stat: Support topdown with --all-kernel/--all-user tools/perf/Documentation/perf-record.txt | 3 +- tools/perf/Documentation/perf-stat.

Re: [PATCH v5] perf diff: Report noisy for cycles diff

2019-08-20 Thread Jin, Yao
On 8/20/2019 4:34 PM, Jiri Olsa wrote: On Fri, Aug 16, 2019 at 10:13:43AM +0800, Jin Yao wrote: SNIP static void hpp__entry_unpair(struct hist_entry *he, int idx, char *buf, size_t size) { @@ -1662,6 +1794,10 @@ static void data__hpp_register(struct data__file *d, int idx

[PATCH v6] perf diff: Report noisy for cycles diff

2019-08-20 Thread Jin Yao
of unsigned type ‘u64’ {aka ‘long unsigned int’} has no effect [-Werror=absolute-value] 712 | labs(pair->block_info->cycles_spark[i] - | ^~~~ Because the result of u64 - u64 is still u64. Now we change the type of cycles_spark[] to s64. Signed-off-by: Jin Yao -

Re: [PATCH] perf diff: Report noisy for cycles diff

2019-07-17 Thread Jin, Yao
On 7/16/2019 4:51 PM, Jiri Olsa wrote: On Fri, Jul 12, 2019 at 03:53:55PM +0800, Jin Yao wrote: This patch prints the stddev and hist for the cycles diff of program block. It can help us to understand if the cycles diff is noisy or not. I'm getting compile error: CC bu

[PATCH v2 0/2] perf stat: Support overall statistics for interval mode

2020-05-01 Thread Jin Yao
# 0.5 IPC 6,227,603 cpu_clk_unhalted.thread 2.003403078 seconds time elapsed v2: --- Rebase to perf/core branch Jin Yao (2): perf evsel: Create counts for collecting summary data perf stat: Report summary for interval mode tools/perf/builtin-stat.c | 14

[PATCH v2 2/2] perf stat: Report summary for interval mode

2020-05-01 Thread Jin Yao
7;: 2,856,395 inst_retired.any # 2.2 CPI 6,214,690 cycles 2,865,539 inst_retired.any # 0.5 IPC 6,227,603 cpu_clk_unhalted.thread 2.003403078 seconds time elapsed v2: --- Rebase to perf/core b

[PATCH v2 1/2] perf evsel: Create counts for collecting summary data

2020-05-01 Thread Jin Yao
sn't bring much complexity. The idea is to create new 'evsel->summary_counts' which sums up the counts delta per interval. Before reporting the summary, we copy the data from evsel->summary_counts to evsel->counts, and next we just follow current code. v2: --- Rebase to pe

Re: [PATCH 0/2] perf stat: Support overall statistics for interval mode

2020-05-01 Thread Jin, Yao
On 5/1/2020 7:36 PM, Jiri Olsa wrote: On Thu, Apr 30, 2020 at 11:07:38AM +0800, Jin Yao wrote: Currently perf-stat supports to print counts at regular interval (-I), but it's not very easy for user to get the overall statistics. With this patchset, it supports to report the summary a

Re: [PATCH] perf evsel: Get group fd from CPU0 for system wide event

2020-05-01 Thread Jin, Yao
Hi Jiri, On 5/1/2020 6:23 PM, Jiri Olsa wrote: On Thu, Apr 30, 2020 at 09:34:51AM +0800, Jin Yao wrote: A metric may consist of system wide event and non system-wide event. The event group leader may be the system wide event. For example, the metric "C2_Pkg_Residency" consists of &

[PATCH] perf evsel: Get group fd from CPU0 for system wide event

2020-04-29 Thread Jin Yao
formance counter stats for 'system wide': 1000850802 cstate_pkg/c2-residency/ # 0.5 C2_Pkg_Residency 201446161592 msr/tsc/ 1.010637051 seconds time elapsed Fixes: 6a4bb04caacc ("perf tools: Enable grouping logic for parsed events") Signed-off-by: Jin Ya

[PATCH 2/2] perf stat: Report summary for interval mode

2020-04-29 Thread Jin Yao
7;: 2,856,395 inst_retired.any # 2.2 CPI 6,214,690 cycles 2,865,539 inst_retired.any # 0.5 IPC 6,227,603 cpu_clk_unhalted.thread 2.003403078 seconds time elapsed Signed-off-by: Jin Yao --- tools/p

[PATCH 0/2] perf stat: Support overall statistics for interval mode

2020-04-29 Thread Jin Yao
# 0.5 IPC 6,227,603 cpu_clk_unhalted.thread 2.003403078 seconds time elapsed Jin Yao (2): perf evsel: Create counts for collecting summary data perf stat: Report summary for interval mode tools/perf/builtin-stat.c | 14 ++- tools/perf/util/evsel.c | 10 ++

[PATCH 1/2] perf evsel: Create counts for collecting summary data

2020-04-29 Thread Jin Yao
sn't bring much complexity. The idea is to create new 'evsel->summary_counts' which sums up the counts delta per interval. Before reporting the summary, we copy the data from evsel->summary_counts to evsel->counts, and next we just follow current code. Signed-off-by: Jin Yao

Re: [PATCH] perf parse-events: Use strcmp to compare the PMU name

2020-04-30 Thread Jin, Yao
Hi John, Jiri, On 4/30/2020 7:48 PM, John Garry wrote: On 30/04/2020 12:15, Jiri Olsa wrote: + On Thu, Apr 30, 2020 at 09:54:18AM +0100, John Garry wrote: On 30/04/2020 09:45, Jiri Olsa wrote: On Thu, Apr 30, 2020 at 08:36:18AM +0800, Jin Yao wrote: A big uncore event group is split into

Re: [PATCH] perf parse-events: Use strcmp to compare the PMU name

2020-04-30 Thread Jin, Yao
Hi Jiri, On 4/30/2020 4:45 PM, Jiri Olsa wrote: On Thu, Apr 30, 2020 at 08:36:18AM +0800, Jin Yao wrote: A big uncore event group is split into multiple small groups which only include the uncore events from the same PMU. This has been supported in the commit 3cdc5c2cb924a ("perf parse-e

Re: [PATCH v3 1/5] perf util: Cleanup and refactor block info functions

2019-10-23 Thread Jin, Yao
On 10/23/2019 7:37 PM, Jiri Olsa wrote: On Tue, Oct 22, 2019 at 04:07:06PM +0800, Jin Yao wrote: SNIP -static int filter_cb(struct hist_entry *he, void *arg __maybe_unused) -{ - /* Skip the calculation of column length in output_resort */ - he->filtered = t

Re: [PATCH v3 5/5] perf report: Sort by sampled cycles percent per block for tui

2019-10-23 Thread Jin, Yao
On 10/23/2019 7:36 PM, Jiri Olsa wrote: On Tue, Oct 22, 2019 at 04:07:10PM +0800, Jin Yao wrote: Previous patch has implemented a new sort option "total_cycles". But there was only stdio mode supported. This patch supports the tui mode and support '--percent-limit'.

Re: [PATCH v3 3/5] perf report: Sort by sampled cycles percent per block for stdio

2019-10-23 Thread Jin, Yao
On 10/23/2019 7:36 PM, Jiri Olsa wrote: On Tue, Oct 22, 2019 at 04:07:08PM +0800, Jin Yao wrote: SNIP +static void get_block_hists(struct hists *hists, struct block_hist *bh, + struct report *rep) +{ + struct rb_node *next = rb_first_cached(&hists->

Re: [PATCH v3 3/5] perf report: Sort by sampled cycles percent per block for stdio

2019-10-23 Thread Jin, Yao
On 10/23/2019 7:36 PM, Jiri Olsa wrote: On Tue, Oct 22, 2019 at 04:07:08PM +0800, Jin Yao wrote: SNIP diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c index 43d1d410854a..eb286700a8a9 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c @@ -492,6 +492,10 @@ struct

Re: [PATCH v3 3/5] perf report: Sort by sampled cycles percent per block for stdio

2019-10-23 Thread Jin, Yao
On 10/23/2019 7:36 PM, Jiri Olsa wrote: On Tue, Oct 22, 2019 at 04:07:08PM +0800, Jin Yao wrote: SNIP diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index cdb436d6e11f..44aed40e9071 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -51,6

Re: [PATCH v3 3/5] perf report: Sort by sampled cycles percent per block for stdio

2019-10-23 Thread Jin, Yao
On 10/23/2019 10:27 PM, Jiri Olsa wrote: On Wed, Oct 23, 2019 at 09:09:34PM +0800, Jin, Yao wrote: On 10/23/2019 7:36 PM, Jiri Olsa wrote: On Tue, Oct 22, 2019 at 04:07:08PM +0800, Jin Yao wrote: SNIP diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index

Re: [PATCH v3 0/7] perf: Stream comparison

2020-04-28 Thread Jin, Yao
Hi Jiri, On 4/27/2020 6:10 PM, Jiri Olsa wrote: On Mon, Apr 20, 2020 at 09:04:44AM +0800, Jin Yao wrote: SNIP compute_flag div.c:25 compute_flag div.c:25 compute_flag div.c:22 compute_flag div.c:22 main

Re: [PATCH v3 2/7] perf util: Create streams for managing top N hottest callchains

2020-04-28 Thread Jin, Yao
Hi Jiri, On 4/27/2020 6:10 PM, Jiri Olsa wrote: On Mon, Apr 20, 2020 at 09:04:46AM +0800, Jin Yao wrote: We think the stream is a callchain which is aggregated by the LBR records from samples. By browsing the stream, we can understand the code flow. The struct callchain_node represents one

Re: [PATCH v3 1/7] perf util: Create source line mapping table

2020-04-28 Thread Jin, Yao
Hi Jiri, On 4/27/2020 6:11 PM, Jiri Olsa wrote: On Mon, Apr 20, 2020 at 09:04:45AM +0800, Jin Yao wrote: Sometimes, a small change in a hot function reducing the cycles of this function, but the overall workload doesn't get faster. It is interesting where the cycles are moved to. Wh

Re: [PATCH v3 0/7] perf: Stream comparison

2020-04-28 Thread Jin, Yao
Hi Jiri, On 4/27/2020 6:29 PM, Jiri Olsa wrote: On Mon, Apr 20, 2020 at 09:04:44AM +0800, Jin Yao wrote: Sometimes, a small change in a hot function reducing the cycles of this function, but the overall workload doesn't get faster. It is interesting where the cycles are moved to. Wh

[PATCH] perf report: Add warning when libunwind not compiled in

2019-10-10 Thread Jin Yao
o user directly (especially valuable for perf newbie). The warning is, Warning: Please install libunwind development packages during the perf build. Both tui and stdio are supported. Signed-off-by: Jin Yao --- tools/perf/builtin-report.c | 7 +++ 1 file changed, 7 insertions(+) diff --g

Re: [PATCH v1 0/2] perf stat: Support --all-kernel and --all-user

2019-10-10 Thread Jin, Yao
On 10/10/2019 8:33 PM, Arnaldo Carvalho de Melo wrote: Em Thu, Oct 10, 2019 at 04:33:57PM +0800, Jin, Yao escreveu: On 10/10/2019 4:00 PM, Jiri Olsa wrote: On Thu, Oct 10, 2019 at 02:46:36PM +0800, Jin, Yao wrote: On 10/1/2019 10:17 AM, Andi Kleen wrote: I think it's useful. Mak

[PATCH] perf stat: Support --all-kernel/--all-user

2019-10-10 Thread Jin Yao
perf record has supported --all-kernel / --all-user to configure all used events to run in kernel space or run in user space. But perf stat doesn't support these options. It would be useful to support these options in perf-stat too to keep the same semantics. Signed-off-by: Jin Yao ---

Re: [PATCH v1 0/2] perf stat: Support --all-kernel and --all-user

2019-10-11 Thread Jin, Yao
On 10/11/2019 3:21 PM, Jiri Olsa wrote: On Fri, Oct 11, 2019 at 10:50:35AM +0800, Jin, Yao wrote: On 10/10/2019 8:33 PM, Arnaldo Carvalho de Melo wrote: Em Thu, Oct 10, 2019 at 04:33:57PM +0800, Jin, Yao escreveu: On 10/10/2019 4:00 PM, Jiri Olsa wrote: On Thu, Oct 10, 2019 at 02:46

Re: [PATCH] perf stat: Fix uncore event mixed metric with workload error issue

2020-04-29 Thread Jin, Yao
1.002109793 seconds time elapsed Thanks Jin Yao --- diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index 9207b6c45475..2518204cffd1 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -1853,6 +1853,8 @@ static void setup_system_wide(int forks)

[PATCH] perf parse-events: Use strcmp to compare the PMU name

2020-04-29 Thread Jin Yao
] as a new PMU leader. So this patch uses strcmp to compare the PMU name between events. Fixes: 3cdc5c2cb924a ("perf parse-events: Handle uncore event aliases in small groups properly") Signed-off-by: Jin Yao --- tools/perf/util/parse-events.c | 5 ++--- 1 file changed, 2 insertions(+),

Re: [PATCH] perf stat: Support --all-kernel/--all-user

2019-10-14 Thread Jin, Yao
On 10/15/2019 12:23 AM, Arnaldo Carvalho de Melo wrote: Em Mon, Oct 14, 2019 at 04:42:08PM +0200, Jiri Olsa escreveu: On Fri, Oct 11, 2019 at 01:05:45PM +0800, Jin Yao wrote: perf record has supported --all-kernel / --all-user to configure all used events to run in kernel space or run in

Re: [PATCH v1 0/5] perf report: Support sorting all blocks by cycles

2019-10-14 Thread Jin, Yao
On 10/14/2019 11:32 PM, Jiri Olsa wrote: On Tue, Oct 08, 2019 at 03:04:57PM +0800, Jin Yao wrote: It would be useful to support sorting for all blocks by the sampled cycles percent per block. This is useful to concentrate on the globally busiest/slowest blocks. This patch series implements

[PATCH] perf list: Hide deprecated events by default

2019-10-14 Thread Jin Yao
uot;--deprecated" is enabled. Signed-off-by: Jin Yao --- tools/perf/Documentation/perf-list.txt | 3 +++ tools/perf/builtin-list.c | 14 ++ tools/perf/pmu-events/jevents.c| 26 -- tools/perf/pmu-events/jevents.h| 3 ++-

[PATCH v2 4/5] perf report: Support --percent-limit for total_cycles

2019-10-14 Thread Jin Yao
116.0K0.42% 19 [random_r.c:357 -> random_r.c:394] libc-2.27.so It only shows the entries which 'Sampled Cycles%' > 1%. Signed-off-by: Jin Yao --- tools/perf/builtin-report.c | 2 +- tools/perf/ui/stdio/hist.c | 7 ++-

[PATCH v2 1/5] perf util: Create new block.h/block.c for block related functions

2019-10-14 Thread Jin Yao
We have already implemented some block related functions. Now it's time to do some cleanup, and move the functions and structures to the new block.h/block.c. Signed-off-by: Jin Yao --- tools/perf/builtin-diff.c | 38 ++- tools/perf/util/Build | 1 + tools/perf

[PATCH v2 0/5] perf report: Support sorting all blocks by cycles

2019-10-14 Thread Jin Yao
o and tui. And also with the supporting of --percent-limit. v2: --- Rebase to perf/core branch Jin Yao (5): perf util: Create new block.h/block.c for block related functions perf util: Count the total cycles of all samples perf report: Sort by sampled cycles percent per block for stdio

[PATCH v2 2/5] perf util: Count the total cycles of all samples

2019-10-14 Thread Jin Yao
a new argument 'total_cycles' in hist__account_cycles(), which will be added with the cycles of each sample. Signed-off-by: Jin Yao --- tools/perf/builtin-annotate.c | 2 +- tools/perf/builtin-diff.c | 3 ++- tools/perf/builtin-report.c | 2 +- tools/perf/builtin-top.c | 3 ++-

[PATCH v2 3/5] perf report: Sort by sampled cycles percent per block for stdio

2019-10-14 Thread Jin Yao
1 [perf_event_nmi_handler+57 -> perf_event_nmi_handler+63] [kernel.kallsyms] 0.00% 10.02% 1 [perf_event_nmi_handler+68 -> perf_event_nmi_handler+74] [kernel.kallsyms] Signed-off-by: Jin Yao --- tools/perf/Doc

[PATCH v2 5/5] perf report: Sort by sampled cycles percent per block for tui

2019-10-14 Thread Jin Yao
> random_r.c:388] libc-2.27.so 1.57% 123.3K0.02% 1 [div.c:42 -> div.c:44] div 1.44% 116.0K0.42% 19 [random_r.c:357 -&g

Re: [PATCH v1 0/5] perf report: Support sorting all blocks by cycles

2019-10-14 Thread Jin, Yao
On 10/14/2019 11:32 PM, Jiri Olsa wrote: On Tue, Oct 08, 2019 at 03:04:57PM +0800, Jin Yao wrote: It would be useful to support sorting for all blocks by the sampled cycles percent per block. This is useful to concentrate on the globally busiest/slowest blocks. This patch series implements

Re: [PATCH v2 3/5] perf report: Sort by sampled cycles percent per block for stdio

2019-10-15 Thread Jin, Yao
On 10/15/2019 4:41 PM, Jiri Olsa wrote: On Tue, Oct 15, 2019 at 01:33:48PM +0800, Jin Yao wrote: SNIP +enum { + PERF_HPP_REPORT__BLOCK_TOTAL_CYCLES_COV, + PERF_HPP_REPORT__BLOCK_LBR_CYCLES, + PERF_HPP_REPORT__BLOCK_CYCLES_PCT, + PERF_HPP_REPORT__BLOCK_AVG_CYCLES

Re: [PATCH] perf stat: Support --all-kernel/--all-user

2019-10-15 Thread Jin, Yao
On 10/15/2019 11:11 PM, Arnaldo Carvalho de Melo wrote: Em Tue, Oct 15, 2019 at 09:57:33AM +0800, Jin, Yao escreveu: On 10/15/2019 12:23 AM, Arnaldo Carvalho de Melo wrote: Em Mon, Oct 14, 2019 at 04:42:08PM +0200, Jiri Olsa escreveu: On Fri, Oct 11, 2019 at 01:05:45PM +0800, Jin Yao

Re: [PATCH] perf list: Hide deprecated events by default

2019-10-15 Thread Jin, Yao
On 10/15/2019 5:14 PM, Jiri Olsa wrote: On Tue, Oct 15, 2019 at 10:53:57AM +0800, Jin Yao wrote: There are some deprecated events listed by perf list. But we can't remove them from perf list with ease because some old scripts may use them. Deprecated events are old names of renamed e

Re: [PATCH] perf list: Hide deprecated events by default

2019-10-16 Thread Jin, Yao
On 10/16/2019 3:27 PM, Jiri Olsa wrote: On Wed, Oct 16, 2019 at 08:59:13AM +0800, Jin, Yao wrote: On 10/15/2019 5:14 PM, Jiri Olsa wrote: On Tue, Oct 15, 2019 at 10:53:57AM +0800, Jin Yao wrote: There are some deprecated events listed by perf list. But we can't remove them from perf

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