Re: [PATCH 1/2] perf: add container identifier entry in perf sample data

From: Peter Zijlstra
Date: Thu Aug 25 2016 - 09:49:22 EST


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 ?