[PATCH v4 0/8] perf cs_etm: Basic support for virtual/kernel timestamps

Arnaldo Carvalho de Melo acme at kernel.org
Thu Jan 19 08:58:56 PST 2023


Em Thu, Jan 19, 2023 at 03:42:59PM +0000, James Clark escreveu:
> Changes since v3:
> 
>   * Scale time estimates by INSTR_PER_NS, rather than assuming 1
>     instruction = 1ns
>   * Add a new commit that fixes some issues around timestamps going
>     backwards
>   * Use nanoseconds inside cs-etm-decoder.c, rather than storing the
>     raw time values and converting when a sample is synthesized. This
>     simplifies some of the code like estimating the first timestamp.

I would check this myself, but since Suzuki had some review comments and
you may consider a v5, please check this:

Cover: ./v4_20230119_james_clark_perf_cs_etm_basic_support_for_virtual_kernel_timestamps.cover
 Link: https://lore.kernel.org/r/20230119154308.3815108-1-james.clark@arm.com
       git checkout -b v4_20230119_james_clark_arm_com 69b41ac87e4a664de78a395ff97166f0b2943210
       git am ./v4_20230119_james_clark_perf_cs_etm_basic_support_for_virtual_kernel_timestamps.mbx
[acme at quaco perf]$        git am ./v4_20230119_james_clark_perf_cs_etm_basic_support_for_virtual_kernel_timestamps.mbx
Applying: perf: Remove duplication around EVENT_SOURCE_DEVICE_PATH
error: patch failed: tools/perf/util/pmu.c:1993
error: tools/perf/util/pmu.c: patch does not apply
error: patch failed: tools/perf/util/pmu.h:259
error: tools/perf/util/pmu.h: patch does not apply
Patch failed at 0001 perf: Remove duplication around EVENT_SOURCE_DEVICE_PATH
hint: Use 'git am --show-current-patch=diff' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
[acme at quaco perf]$

Probably a conflict with one of these:

[acme at quaco perf]$ git log --oneline -5 tools/perf/util/pmu.c
acef233b7ca749fd perf pmu: Add #slots literal support for arm64
336b92da1aa4228a perf tool: Move pmus list variable to a new file
49bd97c28b7e7f01 perf tools: Use dedicated non-atomic clear/set bit helpers
e5c6109f4813246a perf list: Reorganize to use callbacks to allow honouring command line options
eb2d4514a5971444 perf pmu: Restructure print_pmu_events() to avoid memory allocations
[acme at quaco perf]$

Update to my perf/core branch or even tmp.perf/core which is newer but
still needs the full set of container build tests.

Thanks,

- Arnaldo
   
> ===========================
> Changes since v2:
> 
>   * Remove const to non-const change and copy strings where needed
>     instead.
>   * Use sizeof() instead of PATH_MAX
>   * Append "will not be set accurately." to new error message
>   * Remove unneeded stat() call
>   * Rebase on perf/core
>   
> ==========================
> 
> Changes since v1:
> 
>   * Add 3 refactor commits for sysfs reading around pmu.c as suggested
>     by Arnaldo here [1]
>   * The dependency on [2] has now reached mainline so is no longer
>     blocking
>   * Rebase on perf/core
>   
> [1]: https://lore.kernel.org/all/YnqVqq5QW%2Fb14oPZ@kernel.org/
> [2]: https://lore.kernel.org/all/20220503123537.1003035-1-german.gomez@arm.com/
> 
> German Gomez (4):
>   perf pmu: Add function to check if a pmu file exists
>   perf cs_etm: Keep separate symbols for ETMv4 and ETE parameters
>   perf cs_etm: Record ts_source in AUXTRACE_INFO for ETMv4 and ETE
>   perf cs_etm: Set the time field in the synthetic samples
> 
> James Clark (4):
>   perf: Remove duplication around EVENT_SOURCE_DEVICE_PATH
>   perf: Use perf_pmu__open_file() and perf_pmu__scan_file()
>   perf: Remove remaining duplication of bus/event_source/devices/...
>   perf: cs-etm: Ensure that Coresight timestamps don't go backwards
> 
>  tools/perf/arch/arm/util/auxtrace.c           |   5 +-
>  tools/perf/arch/arm/util/cs-etm.c             |  91 ++++++++-
>  tools/perf/arch/x86/util/pmu.c                |  12 +-
>  tools/perf/util/cputopo.c                     |   9 +-
>  tools/perf/util/cs-etm-base.c                 |  34 +++-
>  .../perf/util/cs-etm-decoder/cs-etm-decoder.c |  68 +++++--
>  tools/perf/util/cs-etm.c                      |  95 +++++++++-
>  tools/perf/util/cs-etm.h                      |  16 +-
>  tools/perf/util/pmu-hybrid.c                  |  27 +--
>  tools/perf/util/pmu.c                         | 177 +++++++-----------
>  tools/perf/util/pmu.h                         |  10 +-
>  11 files changed, 349 insertions(+), 195 deletions(-)
> 
> 
> base-commit: 69b41ac87e4a664de78a395ff97166f0b2943210
> prerequisite-patch-id: 9722bf86e3e6d16d177ff9a1411992a795a7dcbd
> prerequisite-patch-id: b05dbef439c2ea8465f3321532257b0ca29f21f9
> prerequisite-patch-id: 92680a4781cbcf010fcb007e6ea030f59e9eaefc
> prerequisite-patch-id: 8e3a73a04e4b89b503377b5fac1d89d551159393
> prerequisite-patch-id: 09980d8fedcdaa70b220a7802428109f48448a58
> prerequisite-patch-id: 711843c93d5d6bdf4d73e024949950f4e4de9e1a
> -- 
> 2.25.1

-- 

- Arnaldo



More information about the linux-arm-kernel mailing list