summaryrefslogtreecommitdiff
path: root/tools/perf/util/session.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/session.h')
-rw-r--r--tools/perf/util/session.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h
index f2b2c6a3a49d..eb9f179376a5 100644
--- a/tools/perf/util/session.h
+++ b/tools/perf/util/session.h
@@ -25,6 +25,7 @@ struct perf_session {
unsigned long mmap_window;
struct rb_root threads;
struct thread *last_match;
+ struct machine host_machine;
struct rb_root machines;
struct events_stats events_stats;
struct rb_root stats_by_id;
@@ -107,18 +108,22 @@ int perf_session__browse_hists(struct rb_root *hists, u64 nr_hists,
static inline
struct machine *perf_session__find_host_machine(struct perf_session *self)
{
- return machines__find_host(&self->machines);
+ return &self->host_machine;
}
static inline
struct machine *perf_session__find_machine(struct perf_session *self, pid_t pid)
{
+ if (pid == HOST_KERNEL_ID)
+ return &self->host_machine;
return machines__find(&self->machines, pid);
}
static inline
struct machine *perf_session__findnew_machine(struct perf_session *self, pid_t pid)
{
+ if (pid == HOST_KERNEL_ID)
+ return &self->host_machine;
return machines__findnew(&self->machines, pid);
}
@@ -126,14 +131,11 @@ static inline
void perf_session__process_machines(struct perf_session *self,
machine__process_t process)
{
+ process(&self->host_machine, self);
return machines__process(&self->machines, process, self);
}
-static inline
-size_t perf_session__fprintf_dsos(struct perf_session *self, FILE *fp)
-{
- return machines__fprintf_dsos(&self->machines, fp);
-}
+size_t perf_session__fprintf_dsos(struct perf_session *self, FILE *fp);
static inline
size_t perf_session__fprintf_dsos_buildid(struct perf_session *self, FILE *fp,