Files
linux/tools/perf/util
James Clark f30232b20f perf symbols: Update kcore map before merging in remaining symbols
When loading kcore, the main vmlinux map is updated in the same loop
that merges the remaining maps. If a map that overlaps is merged in
before kcore, the list can become unsortable when the main map addresses
are updated. This will later trigger the check_invariants() assert:

  $ perf record
  $ perf report

  util/maps.c:96: check_invariants: Assertion `map__end(prev) <=
    map__start(map) || map__start(prev) == map__start(map)' failed.
  Aborted

Fix it by moving the main map update prior to the loop so that
maps__merge_in() can split it if necessary.

Fixes: 659ad3492b ("perf maps: Switch from rbtree to lazily sorted array for addresses")
Signed-off-by: James Clark <james.clark@arm.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20240507141210.195939-4-james.clark@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2024-05-09 18:48:32 -03:00
..
2022-01-12 17:01:38 -08:00
2023-10-25 13:38:33 -07:00
2023-09-12 17:50:36 -03:00
2022-06-28 12:05:25 -03:00
2023-03-14 08:29:46 -03:00
2022-10-04 08:55:21 -03:00
2021-04-29 10:30:58 -03:00
2024-03-21 10:41:28 -03:00
2024-03-21 10:41:28 -03:00
2021-08-11 09:35:44 -03:00
2023-01-23 10:00:47 -03:00
2021-02-03 13:10:44 -03:00
2023-10-12 10:01:56 -07:00
2024-03-21 10:41:28 -03:00
2024-02-12 12:35:41 -08:00
2023-04-06 21:40:28 -03:00
2023-09-12 17:47:00 -03:00
2023-11-09 13:47:50 -03:00
2020-10-14 13:34:26 -03:00
2022-06-23 11:54:22 -03:00
2024-02-12 12:35:41 -08:00
2023-04-10 19:20:53 -03:00