Message ID | 1694087913-46144-1-git-send-email-renyu.zj@linux.alibaba.com (mailing list archive) |
---|---|
Headers | show |
Series | Add metrics for Arm CMN | expand |
Em Thu, Sep 07, 2023 at 07:58:25PM +0800, Jing Zhang escreveu: > Changes since v7: > - Optimized pmu_uncore_identifier_match(). > - Added all missing "event=0" in JSON file. > - Rebase this series onto the latest perf-tools-next. > - Link: https://lore.kernel.org/all/1692606977-92009-1-git-send-email-renyu.zj@linux.alibaba.com/ Can you please refresh on top of what is in the tmp.perf-tools-next branch at: git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git patch 3/8 has some fuzz and b4 is not finding it in the mailing list, probably the patch is too large? Do you have some git tree somewhere I can use to pull from? - Arnaldo > Jing Zhang (8): > perf pmu: "Compat" supports matching multiple identifiers > perf metric: "Compat" supports matching multiple identifiers > perf vendor events: Supplement the omitted EventCode > perf jevents: Support more event fields > perf test: Make matching_pmu effective > perf test: Add pmu-event test for "Compat" and new event_field. > perf jevents: Add support for Arm CMN PMU aliasing > perf vendor events: Add JSON metrics for Arm CMN > > .../pmu-events/arch/arm64/arm/cmn/sys/cmn.json | 266 +++++++++++++++++++++ > .../pmu-events/arch/arm64/arm/cmn/sys/metric.json | 74 ++++++ > .../pmu-events/arch/test/test_soc/sys/uncore.json | 8 + > .../pmu-events/arch/x86/alderlake/pipeline.json | 9 + > .../pmu-events/arch/x86/alderlaken/pipeline.json | 3 + > .../pmu-events/arch/x86/broadwell/pipeline.json | 4 + > .../pmu-events/arch/x86/broadwellde/pipeline.json | 4 + > .../arch/x86/broadwellde/uncore-cache.json | 2 + > .../arch/x86/broadwellde/uncore-interconnect.json | 1 + > .../arch/x86/broadwellde/uncore-memory.json | 1 + > .../arch/x86/broadwellde/uncore-power.json | 1 + > .../pmu-events/arch/x86/broadwellx/pipeline.json | 4 + > .../arch/x86/broadwellx/uncore-cache.json | 2 + > .../arch/x86/broadwellx/uncore-interconnect.json | 13 + > .../arch/x86/broadwellx/uncore-memory.json | 2 + > .../arch/x86/broadwellx/uncore-power.json | 1 + > .../pmu-events/arch/x86/cascadelakex/pipeline.json | 4 + > .../arch/x86/cascadelakex/uncore-cache.json | 2 + > .../arch/x86/cascadelakex/uncore-interconnect.json | 1 + > .../arch/x86/cascadelakex/uncore-io.json | 1 + > .../arch/x86/cascadelakex/uncore-memory.json | 1 + > .../arch/x86/cascadelakex/uncore-power.json | 1 + > .../pmu-events/arch/x86/elkhartlake/pipeline.json | 2 + > .../pmu-events/arch/x86/goldmont/pipeline.json | 3 + > .../pmu-events/arch/x86/goldmontplus/pipeline.json | 3 + > .../pmu-events/arch/x86/grandridge/pipeline.json | 3 + > .../arch/x86/graniterapids/pipeline.json | 4 + > .../perf/pmu-events/arch/x86/haswell/pipeline.json | 4 + > .../pmu-events/arch/x86/haswellx/pipeline.json | 4 + > .../pmu-events/arch/x86/haswellx/uncore-cache.json | 2 + > .../arch/x86/haswellx/uncore-interconnect.json | 14 ++ > .../arch/x86/haswellx/uncore-memory.json | 2 + > .../pmu-events/arch/x86/haswellx/uncore-power.json | 1 + > .../perf/pmu-events/arch/x86/icelake/pipeline.json | 5 + > .../pmu-events/arch/x86/icelakex/pipeline.json | 5 + > .../pmu-events/arch/x86/icelakex/uncore-cache.json | 1 + > .../arch/x86/icelakex/uncore-interconnect.json | 1 + > .../arch/x86/icelakex/uncore-memory.json | 1 + > .../pmu-events/arch/x86/icelakex/uncore-power.json | 1 + > .../pmu-events/arch/x86/ivybridge/pipeline.json | 3 + > .../perf/pmu-events/arch/x86/ivytown/pipeline.json | 4 + > .../pmu-events/arch/x86/ivytown/uncore-cache.json | 2 + > .../arch/x86/ivytown/uncore-interconnect.json | 11 + > .../pmu-events/arch/x86/ivytown/uncore-memory.json | 1 + > .../pmu-events/arch/x86/ivytown/uncore-power.json | 1 + > .../pmu-events/arch/x86/jaketown/pipeline.json | 4 + > .../pmu-events/arch/x86/jaketown/uncore-cache.json | 2 + > .../arch/x86/jaketown/uncore-interconnect.json | 12 + > .../arch/x86/jaketown/uncore-memory.json | 1 + > .../pmu-events/arch/x86/jaketown/uncore-power.json | 2 + > .../arch/x86/knightslanding/pipeline.json | 3 + > .../arch/x86/knightslanding/uncore-cache.json | 1 + > .../arch/x86/knightslanding/uncore-memory.json | 4 + > .../pmu-events/arch/x86/meteorlake/pipeline.json | 9 + > .../pmu-events/arch/x86/rocketlake/pipeline.json | 3 + > .../pmu-events/arch/x86/sandybridge/pipeline.json | 4 + > .../arch/x86/sapphirerapids/pipeline.json | 5 + > .../pmu-events/arch/x86/sierraforest/pipeline.json | 4 + > .../pmu-events/arch/x86/silvermont/pipeline.json | 3 + > .../perf/pmu-events/arch/x86/skylake/pipeline.json | 4 + > .../pmu-events/arch/x86/skylakex/pipeline.json | 4 + > .../pmu-events/arch/x86/skylakex/uncore-cache.json | 2 + > .../arch/x86/skylakex/uncore-interconnect.json | 1 + > .../pmu-events/arch/x86/skylakex/uncore-io.json | 1 + > .../arch/x86/skylakex/uncore-memory.json | 1 + > .../pmu-events/arch/x86/skylakex/uncore-power.json | 1 + > .../pmu-events/arch/x86/snowridgex/pipeline.json | 2 + > .../arch/x86/snowridgex/uncore-cache.json | 1 + > .../arch/x86/snowridgex/uncore-interconnect.json | 1 + > .../arch/x86/snowridgex/uncore-memory.json | 1 + > .../arch/x86/snowridgex/uncore-power.json | 1 + > .../pmu-events/arch/x86/tigerlake/pipeline.json | 5 + > tools/perf/pmu-events/empty-pmu-events.c | 8 + > tools/perf/pmu-events/jevents.py | 21 +- > tools/perf/tests/pmu-events.c | 65 ++++- > tools/perf/util/metricgroup.c | 2 +- > tools/perf/util/pmu.c | 28 ++- > tools/perf/util/pmu.h | 1 + > 78 files changed, 681 insertions(+), 9 deletions(-) > create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cmn/sys/cmn.json > create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cmn/sys/metric.json > > -- > 1.8.3.1 >
在 2023/9/8 上午12:06, Arnaldo Carvalho de Melo 写道: > Em Thu, Sep 07, 2023 at 07:58:25PM +0800, Jing Zhang escreveu: >> Changes since v7: >> - Optimized pmu_uncore_identifier_match(). >> - Added all missing "event=0" in JSON file. >> - Rebase this series onto the latest perf-tools-next. >> - Link: https://lore.kernel.org/all/1692606977-92009-1-git-send-email-renyu.zj@linux.alibaba.com/ > > Can you please refresh on top of what is in the tmp.perf-tools-next > branch at: > > git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git > Yes, this series is already based on the latest tmp.perf-tools-next. > patch 3/8 has some fuzz and b4 is not finding it in the mailing list, > probably the patch is too large? Do you have some git tree somewhere I > can use to pull from? > Patch 3/8 is too large and it is being held until the list moderator can review it for approval. Perhaps you can pull it from my repository. Sorry for the inconvenience. https://github.com/ZhangJing-hub/linux/commit/c33234e62aa210cc7dea0be3c749af1a8737b88d Thanks, Jing > - Arnaldo > >> Jing Zhang (8): >> perf pmu: "Compat" supports matching multiple identifiers >> perf metric: "Compat" supports matching multiple identifiers >> perf vendor events: Supplement the omitted EventCode >> perf jevents: Support more event fields >> perf test: Make matching_pmu effective >> perf test: Add pmu-event test for "Compat" and new event_field. >> perf jevents: Add support for Arm CMN PMU aliasing >> perf vendor events: Add JSON metrics for Arm CMN >> >> .../pmu-events/arch/arm64/arm/cmn/sys/cmn.json | 266 +++++++++++++++++++++ >> .../pmu-events/arch/arm64/arm/cmn/sys/metric.json | 74 ++++++ >> .../pmu-events/arch/test/test_soc/sys/uncore.json | 8 + >> .../pmu-events/arch/x86/alderlake/pipeline.json | 9 + >> .../pmu-events/arch/x86/alderlaken/pipeline.json | 3 + >> .../pmu-events/arch/x86/broadwell/pipeline.json | 4 + >> .../pmu-events/arch/x86/broadwellde/pipeline.json | 4 + >> .../arch/x86/broadwellde/uncore-cache.json | 2 + >> .../arch/x86/broadwellde/uncore-interconnect.json | 1 + >> .../arch/x86/broadwellde/uncore-memory.json | 1 + >> .../arch/x86/broadwellde/uncore-power.json | 1 + >> .../pmu-events/arch/x86/broadwellx/pipeline.json | 4 + >> .../arch/x86/broadwellx/uncore-cache.json | 2 + >> .../arch/x86/broadwellx/uncore-interconnect.json | 13 + >> .../arch/x86/broadwellx/uncore-memory.json | 2 + >> .../arch/x86/broadwellx/uncore-power.json | 1 + >> .../pmu-events/arch/x86/cascadelakex/pipeline.json | 4 + >> .../arch/x86/cascadelakex/uncore-cache.json | 2 + >> .../arch/x86/cascadelakex/uncore-interconnect.json | 1 + >> .../arch/x86/cascadelakex/uncore-io.json | 1 + >> .../arch/x86/cascadelakex/uncore-memory.json | 1 + >> .../arch/x86/cascadelakex/uncore-power.json | 1 + >> .../pmu-events/arch/x86/elkhartlake/pipeline.json | 2 + >> .../pmu-events/arch/x86/goldmont/pipeline.json | 3 + >> .../pmu-events/arch/x86/goldmontplus/pipeline.json | 3 + >> .../pmu-events/arch/x86/grandridge/pipeline.json | 3 + >> .../arch/x86/graniterapids/pipeline.json | 4 + >> .../perf/pmu-events/arch/x86/haswell/pipeline.json | 4 + >> .../pmu-events/arch/x86/haswellx/pipeline.json | 4 + >> .../pmu-events/arch/x86/haswellx/uncore-cache.json | 2 + >> .../arch/x86/haswellx/uncore-interconnect.json | 14 ++ >> .../arch/x86/haswellx/uncore-memory.json | 2 + >> .../pmu-events/arch/x86/haswellx/uncore-power.json | 1 + >> .../perf/pmu-events/arch/x86/icelake/pipeline.json | 5 + >> .../pmu-events/arch/x86/icelakex/pipeline.json | 5 + >> .../pmu-events/arch/x86/icelakex/uncore-cache.json | 1 + >> .../arch/x86/icelakex/uncore-interconnect.json | 1 + >> .../arch/x86/icelakex/uncore-memory.json | 1 + >> .../pmu-events/arch/x86/icelakex/uncore-power.json | 1 + >> .../pmu-events/arch/x86/ivybridge/pipeline.json | 3 + >> .../perf/pmu-events/arch/x86/ivytown/pipeline.json | 4 + >> .../pmu-events/arch/x86/ivytown/uncore-cache.json | 2 + >> .../arch/x86/ivytown/uncore-interconnect.json | 11 + >> .../pmu-events/arch/x86/ivytown/uncore-memory.json | 1 + >> .../pmu-events/arch/x86/ivytown/uncore-power.json | 1 + >> .../pmu-events/arch/x86/jaketown/pipeline.json | 4 + >> .../pmu-events/arch/x86/jaketown/uncore-cache.json | 2 + >> .../arch/x86/jaketown/uncore-interconnect.json | 12 + >> .../arch/x86/jaketown/uncore-memory.json | 1 + >> .../pmu-events/arch/x86/jaketown/uncore-power.json | 2 + >> .../arch/x86/knightslanding/pipeline.json | 3 + >> .../arch/x86/knightslanding/uncore-cache.json | 1 + >> .../arch/x86/knightslanding/uncore-memory.json | 4 + >> .../pmu-events/arch/x86/meteorlake/pipeline.json | 9 + >> .../pmu-events/arch/x86/rocketlake/pipeline.json | 3 + >> .../pmu-events/arch/x86/sandybridge/pipeline.json | 4 + >> .../arch/x86/sapphirerapids/pipeline.json | 5 + >> .../pmu-events/arch/x86/sierraforest/pipeline.json | 4 + >> .../pmu-events/arch/x86/silvermont/pipeline.json | 3 + >> .../perf/pmu-events/arch/x86/skylake/pipeline.json | 4 + >> .../pmu-events/arch/x86/skylakex/pipeline.json | 4 + >> .../pmu-events/arch/x86/skylakex/uncore-cache.json | 2 + >> .../arch/x86/skylakex/uncore-interconnect.json | 1 + >> .../pmu-events/arch/x86/skylakex/uncore-io.json | 1 + >> .../arch/x86/skylakex/uncore-memory.json | 1 + >> .../pmu-events/arch/x86/skylakex/uncore-power.json | 1 + >> .../pmu-events/arch/x86/snowridgex/pipeline.json | 2 + >> .../arch/x86/snowridgex/uncore-cache.json | 1 + >> .../arch/x86/snowridgex/uncore-interconnect.json | 1 + >> .../arch/x86/snowridgex/uncore-memory.json | 1 + >> .../arch/x86/snowridgex/uncore-power.json | 1 + >> .../pmu-events/arch/x86/tigerlake/pipeline.json | 5 + >> tools/perf/pmu-events/empty-pmu-events.c | 8 + >> tools/perf/pmu-events/jevents.py | 21 +- >> tools/perf/tests/pmu-events.c | 65 ++++- >> tools/perf/util/metricgroup.c | 2 +- >> tools/perf/util/pmu.c | 28 ++- >> tools/perf/util/pmu.h | 1 + >> 78 files changed, 681 insertions(+), 9 deletions(-) >> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cmn/sys/cmn.json >> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cmn/sys/metric.json >> >> -- >> 1.8.3.1 >> >
在 2023/9/13 上午4:34, Arnaldo Carvalho de Melo 写道: > Em Mon, Sep 11, 2023 at 10:41:16AM +0800, Jing Zhang escreveu: >> >> 在 2023/9/9 上午5:18, Ian Rogers 写道: >>> On Thu, Sep 7, 2023 at 4:58 AM Jing Zhang <renyu.zj@linux.alibaba.com> wrote: >>>> If there is an "event=0" in the event description, the EventCode can >>>> be omitted in the JSON file, and jevent.py will automatically fill in >>>> "event=0" during parsing. >>>> >>>> However, for some events where EventCode and ConfigCode are missing, >>>> it is not necessary to automatically fill in "event=0", such as the >>>> CMN event description which is typically "type=xxx, eventid=xxx". >>>> >>>> Therefore, before modifying jevent.py to prevent it from automatically >>>> adding "event=0" by default, it is necessary to fill in all omitted >>>> EventCodes first. >>>> >>>> Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com> >>> I thought you were going to change the behavior in jevents.py so this >>> change would be unnecessary. The next time the json is generated by >>> the script: >>> https://github.com/intel/perfmon/blob/main/scripts/create_perf_json.py >>> then this will break. It seems easier to workaround the issue in jevents.py. >>> >> Okay, I will workaround the issue in jevents.py. Thank you! > So this means you will resubmit the whole 8-patches long series or > should we merge this one and then get a followup patch? > Please wait for v9 as there are still some unresolved issues in this series. Thanks, Jing > - Arnaldo > >>> Thanks, >>> Ian