OSDN Git Service

perf evlist: Maintain evlist->all_cpus
authorAndi Kleen <ak@linux.intel.com>
Thu, 21 Nov 2019 00:15:14 +0000 (16:15 -0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 29 Nov 2019 15:20:45 +0000 (12:20 -0300)
commita2408a70368ade9c99de27da78d49416313b8833
treee34ab005c4f25808202ab03420b643faca142155
parent7074674e7338863e6404909c9761d4d3a610a379
perf evlist: Maintain evlist->all_cpus

Maintain a cpumap in the evlist that is the union of all the cpus of the
events.

This needs a cpumap merge operation, which is added together with tests.

v2:
Add tests for cpu map merge
Fix handling of duplicates
Rename _update to _merge
Factor out sorting.
Fix handling of NULL maps in merge

v3:
Add comments and empty lines to _merge

Committer testing:

  # perf test "Merge cpu map"
  52: Merge cpu map                                         : Ok
  #

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: http://lore.kernel.org/lkml/20191121001522.180827-5-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/lib/cpumap.c
tools/perf/lib/evlist.c
tools/perf/lib/include/internal/evlist.h
tools/perf/lib/include/perf/cpumap.h
tools/perf/tests/builtin-test.c
tools/perf/tests/cpumap.c
tools/perf/tests/tests.h