[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20160826040502.GD29746@in.ibm.com>
Date: Fri, 26 Aug 2016 09:35:02 +0530
From: Ananth N Mavinakayanahalli <ananth@...ux.vnet.ibm.com>
To: Hari Bathini <hbathini@...ux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@...radead.org>, ast@...com,
lkml <linux-kernel@...r.kernel.org>, acme@...nel.org,
alexander.shishkin@...ux.intel.com, mingo@...hat.com,
sargun@...gun.me, Aravinda Prasad <aravinda@...ux.vnet.ibm.com>,
"Naveen N. Rao" <naveen.n.rao@...ux.vnet.ibm.com>,
daniel@...earbox.net
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
Powered by blists - more mailing lists