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?)..

Thanks
Hari

Reply via email to