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

Namhyung Kim posted 5 patches 3 years, 6 months ago
tools/lib/perf/evlist.c             | 23 ++++++++-------
tools/lib/perf/evsel.c              |  3 --
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 --
9 files changed, 44 insertions(+), 77 deletions(-)
[PATCH 0/5] perf tools: Clean up cpu map handling for a system-wide evsel (v1)
Posted by Namhyung Kim 3 years, 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.

You can get the code from 'perf/cpumap-update-v1' 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/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 --
 9 files changed, 44 insertions(+), 77 deletions(-)

-- 
2.37.3.998.g577e59143f-goog
Re: [PATCH 0/5] perf tools: Clean up cpu map handling for a system-wide evsel (v1)
Posted by Arnaldo Carvalho de Melo 3 years, 6 months ago
Em Sat, Sep 24, 2022 at 09:57:32AM -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.
> 
> You can get the code from 'perf/cpumap-update-v1' branch in
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git
>   
> Thanks,
> Namhyung

Looks sane, applied locally for testing.

- Arnaldo
 
> 
> 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/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 --
>  9 files changed, 44 insertions(+), 77 deletions(-)
> 
> -- 
> 2.37.3.998.g577e59143f-goog

-- 

- Arnaldo