perf map: Combine maps__fixup_overlappings with its only use
The following commit has been merged into the perf/core branch of tip:
Commit-ID: 3f662fc08dddebd7bab654eada1f3e7568959eef Gitweb: https://git.kernel.org/tip/3f662fc08dddebd7bab654eada1f3e7568959eef Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Fri, 01 Nov 2019 17:53:02 -03:00 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitterDate: Tue, 12 Nov 2019 08:20:53 -03:00
perf map: Combine maps__fixup_overlappings with its only use
In the process we can kill some of the struct map->groups usage, trying to get rid of this per-full struct map fields getting in the way of sharing a map across father/parent processes.
Cc Adrian Hunter <[email protected]>
Cc Andi Kleen <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/util/map.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-)
tools/perf/util/map.c +4 -9
@@ -752,8 +752,9 @@ static void __map_groups__insert(struct map_groups *mg, struct map *map) map->groups = mg; } -static int maps__fixup_overlappings (struct maps *maps,struct map *map,FILE *fp) +int map_groups__fixup_overlappings (struct map_groups *mg,struct map *map,FILE *fp) { +struct maps *maps = &mg->maps;struct rb_root *root;struct rb_node *next, *first;int err =0 ;
@@ -818,7 +819,7 @@ static int maps__fixup_overlappings(struct maps *maps, struct map *map, FILE *fp } before->end = map->start; -__map_groups__insert (pos->groups, before); +__map_groups__insert (mg, before);if (verbose >=2 && !use_browser)map__fprintf (before, fp);map__put (before);
@@ -835,7 +836,7 @@ static int maps__fixup_overlappings(struct maps *maps, struct map *map, FILE *fp after->start = map->end; after->pgoff += map->end - pos->start;assert (pos->map_ip (pos, map->end) == after->map_ip (after, map->end)); -__map_groups__insert (pos->groups, after); +__map_groups__insert (mg, after);if (verbose >=2 && !use_browser)map__fprintf (after, fp);map__put (after);
@@ -853,12 +854,6 @@ out:return err; } -int map_groups__fixup_overlappings (struct map_groups *mg,struct map *map, -FILE *fp) -{ -return maps__fixup_overlappings (&mg->maps, map, fp); -} -/* * XXX This should not really _copy_ te maps, but refcount them. */