[PATCH 0/5] perf tools: Clean up cpu map handling for system-wide evsel (v2)

Namhyung Kim posted 5 patches 1 year, 6 months ago
tools/lib/perf/evlist.c                  | 23 ++++++------
tools/lib/perf/evsel.c                   |  3 --
tools/lib/perf/include/internal/evlist.h |  1 +
tools/perf/arch/x86/util/intel-pt.c      | 15 +++-----
tools/perf/builtin-script.c              |  3 --
tools/perf/tests/switch-tracking.c       | 15 +++-----
tools/perf/util/evlist.c                 | 46 ++++++++++--------------
tools/perf/util/evlist.h                 |  1 +
tools/perf/util/evsel.c                  | 12 ++-----
tools/perf/util/stat.c                   |  3 --
10 files changed, 46 insertions(+), 76 deletions(-)
[PATCH 0/5] perf tools: Clean up cpu map handling for system-wide evsel (v2)
Posted by Namhyung Kim 1 year, 6 months ago
Hello,

The system-wide evsel has a cpu map for all (online) cpus regardless
of user requested cpus.  But the cpu map handling code has some
special case for it and I think we can cleanup the code by making sure
that such a evsel has a proper cpu/thread maps from the beginning.
This patches should not cause any change in the behavior.

Changes from v1:
 * use evlist->core.needs_map_propagation field
 * add Reviewed-by from Adrian

You can get the code from 'perf/cpumap-update-v2' branch in

  git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git

Thanks,
Namhyung

Namhyung Kim (5):
  libperf: Populate system-wide evsel maps
  libperf: Propagate maps only if necessary
  perf tools: Get rid of evlist__add_on_all_cpus()
  perf tools: Add evlist__add_sched_switch()
  perf tools: Remove special handling of system-wide evsel

 tools/lib/perf/evlist.c                  | 23 ++++++------
 tools/lib/perf/evsel.c                   |  3 --
 tools/lib/perf/include/internal/evlist.h |  1 +
 tools/perf/arch/x86/util/intel-pt.c      | 15 +++-----
 tools/perf/builtin-script.c              |  3 --
 tools/perf/tests/switch-tracking.c       | 15 +++-----
 tools/perf/util/evlist.c                 | 46 ++++++++++--------------
 tools/perf/util/evlist.h                 |  1 +
 tools/perf/util/evsel.c                  | 12 ++-----
 tools/perf/util/stat.c                   |  3 --
 10 files changed, 46 insertions(+), 76 deletions(-)


base-commit: 62e64c9d2fd12839c02f1b3e8b873e7cb34e8720
-- 
2.38.0.rc1.362.ged0d419d3c-goog
Re: [PATCH 0/5] perf tools: Clean up cpu map handling for system-wide evsel (v2)
Posted by Arnaldo Carvalho de Melo 1 year, 6 months ago
Em Fri, Sep 30, 2022 at 10:27:09AM -0700, Namhyung Kim escreveu:
> Hello,
> 
> The system-wide evsel has a cpu map for all (online) cpus regardless
> of user requested cpus.  But the cpu map handling code has some
> special case for it and I think we can cleanup the code by making sure
> that such a evsel has a proper cpu/thread maps from the beginning.
> This patches should not cause any change in the behavior.
> 
> Changes from v1:
>  * use evlist->core.needs_map_propagation field
>  * add Reviewed-by from Adrian

Thanks, replaced v1 with this.

Adrian, please check if I can add the Reviewed-by to the ones without
it.

- Arnaldo
 
> You can get the code from 'perf/cpumap-update-v2' branch in
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git
> 
> Thanks,
> Namhyung
> 
> Namhyung Kim (5):
>   libperf: Populate system-wide evsel maps
>   libperf: Propagate maps only if necessary
>   perf tools: Get rid of evlist__add_on_all_cpus()
>   perf tools: Add evlist__add_sched_switch()
>   perf tools: Remove special handling of system-wide evsel
> 
>  tools/lib/perf/evlist.c                  | 23 ++++++------
>  tools/lib/perf/evsel.c                   |  3 --
>  tools/lib/perf/include/internal/evlist.h |  1 +
>  tools/perf/arch/x86/util/intel-pt.c      | 15 +++-----
>  tools/perf/builtin-script.c              |  3 --
>  tools/perf/tests/switch-tracking.c       | 15 +++-----
>  tools/perf/util/evlist.c                 | 46 ++++++++++--------------
>  tools/perf/util/evlist.h                 |  1 +
>  tools/perf/util/evsel.c                  | 12 ++-----
>  tools/perf/util/stat.c                   |  3 --
>  10 files changed, 46 insertions(+), 76 deletions(-)
> 
> 
> base-commit: 62e64c9d2fd12839c02f1b3e8b873e7cb34e8720
> -- 
> 2.38.0.rc1.362.ged0d419d3c-goog

-- 

- Arnaldo