Messages in this thread | | | Date | Fri, 26 Aug 2016 09:35:02 +0530 | From | Ananth N Mavinakayanahalli <> | Subject | Re: [PATCH 1/2] perf: add container identifier entry in perf sample data |
| |
On Thu, Aug 25, 2016 at 10:50:18PM +0530, Hari Bathini wrote: > > > On Thursday 25 August 2016 06:31 PM, Peter Zijlstra wrote: > >On Thu, Aug 25, 2016 at 05:27:54PM +0530, Hari Bathini wrote: > > > >>diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h > >>index c66a485..fb4f902 100644 > >>--- a/include/uapi/linux/perf_event.h > >>+++ b/include/uapi/linux/perf_event.h > >>@@ -139,8 +139,9 @@ enum perf_event_sample_format { > >> PERF_SAMPLE_IDENTIFIER = 1U << 16, > >> PERF_SAMPLE_TRANSACTION = 1U << 17, > >> PERF_SAMPLE_REGS_INTR = 1U << 18, > >>+ PERF_SAMPLE_CID = 1U << 19, > >>- PERF_SAMPLE_MAX = 1U << 19, /* non-ABI */ > >>+ PERF_SAMPLE_MAX = 1U << 20, /* non-ABI */ > >> }; > >This forgets to update the comment that goes with PERF_RECORD_SAMPLE. > >This patch would also need an update to the manpage: > > > > http://git.kernel.org/cgit/docs/man-pages/man-pages.git/tree/man2/perf_event_open.2 > > > > http://www.man7.org/linux/man-pages/man2/perf_event_open.2.html > > > >>+ if (sample_type & PERF_SAMPLE_CID) { > >>+ int size = sizeof(u64); > >>+ > >>+ /* > >>+ * Container identifier for a given task. > >>+ * Using cgroup namespace inode number for this. > >>+ */ > >>+ data->cid_entry.cid = current->nsproxy->cgroup_ns->ns.inum; > >>+ data->cid_entry.reserved = 0; > >>+ header->size += size; > >>+ } > >> } > >Does this compile with CONFIG_CGROUP=n ? > > > > My bad. Will update.. > Actually, on second thought, how about using inode number of some > other namespace that any container would have (mount, probably?)..
I am not sure about every implementation of 'containers' but I would think that the cgroup namespace is the right choice here. Mount namespaces can be potentially shared between containers AFAIK.
Ananth
| |