mbox series

[v5,0/8] perf cs_etm: Basic support for virtual/kernel timestamps

Message ID 20230120143702.4035046-1-james.clark@arm.com (mailing list archive)
Headers show
Series perf cs_etm: Basic support for virtual/kernel timestamps | expand

Message

James Clark Jan. 20, 2023, 2:36 p.m. UTC
Changes since v4:

  * Rebase onto perf/core
  * Convert new perf_pmu__cpu_slots_per_cycle() function to use
    new helper functions
  
===========================
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.
  
===========================
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/arm64/util/pmu.c              |   4 +-
 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 +-
 12 files changed, 351 insertions(+), 197 deletions(-)


base-commit: 1962ab6f6e0b39e4216206205bda14aff87705f3
prerequisite-patch-id: 9722bf86e3e6d16d177ff9a1411992a795a7dcbd
prerequisite-patch-id: b05dbef439c2ea8465f3321532257b0ca29f21f9
prerequisite-patch-id: 92680a4781cbcf010fcb007e6ea030f59e9eaefc
prerequisite-patch-id: 8e3a73a04e4b89b503377b5fac1d89d551159393
prerequisite-patch-id: 09980d8fedcdaa70b220a7802428109f48448a58

Comments

Suzuki K Poulose Jan. 20, 2023, 2:42 p.m. UTC | #1
On 20/01/2023 14:36, James Clark wrote:
> Changes since v4:
> 
>    * Rebase onto perf/core
>    * Convert new perf_pmu__cpu_slots_per_cycle() function to use
>      new helper functions
>    
> ===========================
> 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.
>    
> ===========================
> 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/arm64/util/pmu.c              |   4 +-
>   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 +-
>   12 files changed, 351 insertions(+), 197 deletions(-)

For the series,

Acked-by: Suzuki K Poulose <suzuki.poulose@arm.com>


> 
> 
> base-commit: 1962ab6f6e0b39e4216206205bda14aff87705f3
> prerequisite-patch-id: 9722bf86e3e6d16d177ff9a1411992a795a7dcbd
> prerequisite-patch-id: b05dbef439c2ea8465f3321532257b0ca29f21f9
> prerequisite-patch-id: 92680a4781cbcf010fcb007e6ea030f59e9eaefc
> prerequisite-patch-id: 8e3a73a04e4b89b503377b5fac1d89d551159393
> prerequisite-patch-id: 09980d8fedcdaa70b220a7802428109f48448a58
Tanmay Jagdale Jan. 20, 2023, 5:44 p.m. UTC | #2
Hi James,

> Changes since v4:
> 
>   * Rebase onto perf/core
>   * Convert new perf_pmu__cpu_slots_per_cycle() function to use
>     new helper functions
> 
> ===========================
> 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.
> 
> ===========================
> 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/arm64/util/pmu.c              |   4 +-
>  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 +-
>  12 files changed, 351 insertions(+), 197 deletions(-)
> 
> 
> base-commit: 1962ab6f6e0b39e4216206205bda14aff87705f3
> prerequisite-patch-id: 9722bf86e3e6d16d177ff9a1411992a795a7dcbd
> prerequisite-patch-id: b05dbef439c2ea8465f3321532257b0ca29f21f9
> prerequisite-patch-id: 92680a4781cbcf010fcb007e6ea030f59e9eaefc
> prerequisite-patch-id: 8e3a73a04e4b89b503377b5fac1d89d551159393
> prerequisite-patch-id: 09980d8fedcdaa70b220a7802428109f48448a58
For the series,

Tested-by: Tanmay Jagdale <tanmay@marvell.com>

Thanks,
Tanmay
> --
> 2.25.1