RE: [PATCH V8 0/4] perf tools: pmu event new style format fix

From: Liang, Kan
Date: Mon Oct 13 2014 - 11:44:11 EST


Hi Jolsa,

Does the new patch set work on your machine?
I tested the V8 patch set on haswell, ivybridge and Romley platform,
I cannot reproduce the issue you mentioned.
Could you please try the latest V8 patch?

Thanks,
Kan

> From: Kan Liang <kan.liang@xxxxxxxxx>
>
> There are two types of pmu event stytle formats, "pmu_event_name"
> or "cpu/pmu_event_name/". However, there is a bug on supporting these
> two formats, especially when they mixed with other perf events.
> The patch set intends to fix this issue.
>
> The patch set has been tested by perf automated test "./perf test parse -v"
> on haswell, ivybridge and Romley platform.
> The patch set also has been tested on haswell by the following script.
> (Note: please make sure that your test system support TSX and L1-dcache-
> loads events. Otherwise, you may want to change the events to other pmu
> events.)
>
> [lk@localhost ~]$ cat perf_style_test.sh #hardware events + kernel pmu
> event with different style perf stat -x, -e cycles,mem-stores,tx-start sleep 2
> perf stat -x, -e cpu-cycles,cycles-ct,cycles-t sleep 2 perf stat -x, -e
> cycles,cpu/cycles-ct/,cpu/cycles-t/ sleep 2 perf stat -x, -e instructions,cpu/tx-
> start/ sleep 2 perf stat -x, -e '{cycles,tx-start}' sleep 2 perf stat -x, -e
> '{cycles,cpu/tx-start/}' sleep 2
>
> #HW Cache event + kernel pmu event with different style perf stat -x, -e L1-
> dcache-loads,cpu/mem-stores/,tx-start sleep 2 perf stat -x, -e L1-dcache-
> loads,mem-stores,cpu/tx-start/ sleep 2 perf stat -x, -e '{L1-dcache-
> loads,mem-stores}' sleep 2 perf stat -x, -e '{L1-dcache-loads,cpu/tx-start/}'
> sleep 2
>
> #Raw event + kernel pmu event with different style:
> perf stat -x, -e cpu/event=0xc0,umask=0x00/,mem-loads,cpu/mem-stores/
> sleep 2 perf stat -x, -e cpu/event=0xc0,umask=0x00/,tx-start,cpu/el-start/
> sleep 2 perf stat -x, -e '{cpu/event=0xc0,umask=0x00/,tx-start}' sleep 2
>
> Changes since V1:
> Read kernel PMU events from sysfs at runtime
>
> Changes since V2:
> Use strlcpy to replace strncpy
>
> Changes since V3:
> rebase to git.kernel.org/pub/scm/linux/kernel/git/acme/linux perf/core
>
> Changes since V4:
> scan kernel pmu events from sysfs only needed rename the
> init/check/clenup functions and related struct.
> allocate each symbol string separatelly
> Use ALLOC_LIST
>
> Changes since V5:
> Using perf_pmu__find to instead of perf_pmu__scan Don't scan all the time
> if the system doesn't support kernel pmu events
>
> Changes since V6:
> Add test case in automated tests suite
> Use strdup and macro to refine the code
> Add sep_dc for PMU event to support PE_MODIFIER_EVENT Some minor
> changes for code style
>
> Changes since V7:
> Add allocation failure check
>
> Kan Liang (4):
> Revert "perf tools: Default to cpu// for events v5"
> perf tools: parse the pmu event prefix and suffix
> perf tools: Add support to new style format of kernel PMU event
> perf tools: Add test case for pmu event new style format
>
> tools/perf/tests/parse-events.c | 36 +++++++++
> tools/perf/util/include/linux/string.h | 1 -
> tools/perf/util/parse-events.c | 133 +++++++++++++++++++++++++++-
> -----
> tools/perf/util/parse-events.h | 14 ++++
> tools/perf/util/parse-events.l | 30 +++++++-
> tools/perf/util/parse-events.y | 40 ++++++++++
> tools/perf/util/pmu.c | 10 ---
> tools/perf/util/pmu.h | 10 +++
> tools/perf/util/string.c | 24 ------
> 9 files changed, 240 insertions(+), 58 deletions(-)
>
> --
> 1.8.3.2

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