1. 21 Feb, 2024 5 commits
  2. 17 Feb, 2024 2 commits
    • Ian Rogers's avatar
      perf list: For metricgroup only list include description · 81377de0
      Ian Rogers authored
      If perf list is invoked with 'metricgroups' include the description
      unless it is invoked with flags to exclude it. Make the description of
      metricgroup dumping dependent on the desc flag in print_state as with
      metrics.
      
      Before:
      ```
      $ perf list metricgroups
      List of pre-defined events (to be used in -e or -M):
      
      Metric Groups:
      
      Backend
      Bad
      BadSpec
      ...
      ```
      
      After:
      ```
      $ perf list metricgroups
      List of pre-defined events (to be used in -e or -M):
      
      Metric Groups:
      
      Backend [Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet]
      Bad [Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet]
      BadSpec
      ...
      ```
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20240216192044.119897-1-irogers@google.com
      81377de0
    • Namhyung Kim's avatar
      perf tools: Fixup module symbol end address properly · bacefe0c
      Namhyung Kim authored
      I got a strange error on ARM to fail on processing FINISHED_ROUND
      record.  It turned out that it was failing in symbol__alloc_hist()
      because the symbol size is too big.
      
      When a sample is captured on a specific BPF program, it failed.  I've
      added a debug code and found the end address of the symbol is from
      the next module which is placed far way.
      
        ffff800008795778-ffff80000879d6d8: bpf_prog_1bac53b8aac4bc58_netcg_sock    [bpf]
        ffff80000879d6d8-ffff80000ad656b4: bpf_prog_76867454b5944e15_netcg_getsockopt      [bpf]
        ffff80000ad656b4-ffffd69b7af74048: bpf_prog_1d50286d2eb1be85_hn_egress     [bpf]   <---------- here
        ffffd69b7af74048-ffffd69b7af74048: $x.5    [sha3_generic]
        ffffd69b7af74048-ffffd69b7af740b8: crypto_sha3_init        [sha3_generic]
        ffffd69b7af740b8-ffffd69b7af741e0: crypto_sha3_update      [sha3_generic]
      
      The logic in symbols__fixup_end() just uses curr->start to update the
      prev->end.  But in this case, it won't work as it's too different.
      
      I think ARM has a different kernel memory layout for modules and BPF
      than on x86.  Actually there's a logic to handle kernel and module
      boundary.  Let's do the same for symbols between different modules.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Reviewed-by: default avatarLeo Yan <leo.yan@linux.dev>
      Cc: Will Deacon <will@kernel.org>
      Cc: Mike Leach <mike.leach@linaro.org>
      Cc: John Garry <john.g.garry@oracle.com>
      Link: https://lore.kernel.org/r/20240212233322.1855161-1-namhyung@kernel.org
      bacefe0c
  3. 16 Feb, 2024 33 commits