From: Kan Liang <kan.li...@intel.com> Finish the namespaces id setting job in thread.c.
Signed-off-by: Kan Liang <kan.li...@intel.com> --- tools/perf/util/hist.c | 7 ++----- tools/perf/util/thread.c | 10 ++++++++++ tools/perf/util/thread.h | 2 ++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c index 0f00dd9..e332c4f 100644 --- a/tools/perf/util/hist.c +++ b/tools/perf/util/hist.c @@ -584,14 +584,9 @@ __hists__add_entry(struct hists *hists, bool sample_self, struct hist_entry_ops *ops) { - struct namespaces *ns = thread__namespaces(al->thread); struct hist_entry entry = { .thread = al->thread, .comm_str = thread__comm_str(al->thread), - .cgroup_id = { - .dev = ns ? ns->link_info[CGROUP_NS_INDEX].dev : 0, - .ino = ns ? ns->link_info[CGROUP_NS_INDEX].ino : 0, - }, .ms = { .map = al->map, .sym = al->sym, @@ -617,6 +612,8 @@ __hists__add_entry(struct hists *hists, .ops = ops, }; + thread__namespaces_id(al->thread, &entry.cgroup_id.dev, + &entry.cgroup_id.ino); return hists__findnew_entry(hists, &entry, al, sample_self); } diff --git a/tools/perf/util/thread.c b/tools/perf/util/thread.c index aee9a42..b7957da 100644 --- a/tools/perf/util/thread.c +++ b/tools/perf/util/thread.c @@ -149,6 +149,16 @@ int thread__set_namespaces(struct thread *thread, u64 timestamp, return 0; } +void thread__namespaces_id(const struct thread *thread, + u64 *dev, u64 *ino) +{ + struct namespaces *ns; + + ns = thread__namespaces(thread); + *dev = ns ? ns->link_info[CGROUP_NS_INDEX].dev : 0; + *ino = ns ? ns->link_info[CGROUP_NS_INDEX].ino : 0; +} + struct comm *thread__comm(const struct thread *thread) { if (list_empty(&thread->comm_list)) diff --git a/tools/perf/util/thread.h b/tools/perf/util/thread.h index cb1a5dd..fd7bd41 100644 --- a/tools/perf/util/thread.h +++ b/tools/perf/util/thread.h @@ -68,6 +68,8 @@ static inline void thread__exited(struct thread *thread) struct namespaces *thread__namespaces(const struct thread *thread); int thread__set_namespaces(struct thread *thread, u64 timestamp, struct namespaces_event *event); +void thread__namespaces_id(const struct thread *thread, + u64 *dev, u64 *ino); int __thread__set_comm(struct thread *thread, const char *comm, u64 timestamp, bool exec); -- 2.5.5