perf tools: Add machine to machines back pointer
authorAdrian Hunter <adrian.hunter@intel.com>
Tue, 17 May 2022 13:10:06 +0000 (16:10 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 23 May 2022 13:18:06 +0000 (10:18 -0300)
When dealing with guest machines, it can be necessary to get a reference
to the host machine. Add a machines pointer to struct machine to make that
possible.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: kvm@vger.kernel.org
Link: https://lore.kernel.org/r/20220517131011.6117-2-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/machine.c
tools/perf/util/machine.h

index 9539123..e96f6ea 100644 (file)
@@ -299,6 +299,8 @@ struct machine *machines__add(struct machines *machines, pid_t pid,
        rb_link_node(&machine->rb_node, parent, p);
        rb_insert_color_cached(&machine->rb_node, &machines->guests, leftmost);
 
+       machine->machines = machines;
+
        return machine;
 }
 
index 2b9fb34..a5e479b 100644 (file)
@@ -18,6 +18,7 @@ struct symbol;
 struct target;
 struct thread;
 union perf_event;
+struct machines;
 
 /* Native host kernel uses -1 as pid index in machine */
 #define        HOST_KERNEL_ID                  (-1)
@@ -59,6 +60,7 @@ struct machine {
                void      *priv;
                u64       db_id;
        };
+       struct machines   *machines;
        bool              trampolines_mapped;
 };