Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf_cnt: improve avg/peak accuracy for component perf measurements #9664

Merged
merged 4 commits into from
Nov 22, 2024

Commits on Nov 19, 2024

  1. perf_cnt: add more build options to PERFORMANCE_COUNTERS

    The performance counter results are delivered via the logging
    subsystem and the logging overhead can interfere with the measurements
    themselves. To mitigate the impact, only a small set of performance
    counters should be enabled at the same time in build.
    
    To enable this, break the CONFIG_PERFORMANCE_COUNTERS Kconfig option
    into more fine-grained options and add separate options to enable LL
    task and audio component performance tracing.
    
    Signed-off-by: Kai Vehmanen <[email protected]>
    kv2019i committed Nov 19, 2024
    Configuration menu
    Copy the full SHA
    835dc27 View commit details
    Browse the repository at this point in the history
  2. app: perf_overlay: reduce amount of parallel perf monitors

    Disable CONFIG_PERFORMANCE_COUNTERS_LL_TASKS and
    CONFIG_SCHEDULE_LL_STATS_LOG by default in the performance overlay. This
    reduces logging overhead and makes the component level peak traces more
    reliable.
    
    The logging overhead has minimal impact to reported averages, but
    can be seen in peak execution measurements.
    
    Signed-off-by: Kai Vehmanen <[email protected]>
    kv2019i committed Nov 19, 2024
    Configuration menu
    Copy the full SHA
    06c1505 View commit details
    Browse the repository at this point in the history
  3. perf_cnt: use alternate reporting to minimize logging overhead

    Implement simple alternate reporting for perf_cnt_average()
    and task_perf_cnt_avg(). By calling the reporting function only
    for every other measurement window, the overhead of reporting
    can be filtered out from data. This mostly affects the peak
    cycle reporting. For average values reporting has only minimal
    impact.
    
    Signed-off-by: Kai Vehmanen <[email protected]>
    kv2019i committed Nov 19, 2024
    Configuration menu
    Copy the full SHA
    9f195f0 View commit details
    Browse the repository at this point in the history
  4. app: perf_overlay: add note on CONFIG_DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT

    On many Intel platforms, the HD-DMA interrupts can interfere
    with component level performance measurements. Add a comment
    how to disable the interrupts when doing component performance
    analysis.
    
    Signed-off-by: Kai Vehmanen <[email protected]>
    kv2019i committed Nov 19, 2024
    Configuration menu
    Copy the full SHA
    cc4a331 View commit details
    Browse the repository at this point in the history