]> git.baikalelectronics.ru Git - kernel.git/commit
perf/core: Add PERF_RECORD_CGROUP event
authorNamhyung Kim <namhyung@kernel.org>
Wed, 25 Mar 2020 12:45:28 +0000 (21:45 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 27 Mar 2020 13:39:11 +0000 (10:39 -0300)
commit0e43c8f6292bc979a5e1f7ccfbcefe21eb24f2c3
tree5ae11be96bfc7fd31550aed9ba75555ceb494900
parent3d7236819ddb5fcf17e1f147a6fb99f06ae377d6
perf/core: Add PERF_RECORD_CGROUP event

To support cgroup tracking, add CGROUP event to save a link between
cgroup path and id number.  This is needed since cgroups can go away
when userspace tries to read the cgroup info (from the id) later.

The attr.cgroup bit was also added to enable cgroup tracking from
userspace.

This event will be generated when a new cgroup becomes active.
Userspace might need to synthesize those events for existing cgroups.

Committer testing:

From the resulting kernel, using /sys/kernel/btf/vmlinux:

  $ pahole perf_event_attr | grep -w cgroup -B5 -A1
   __u64                      write_backward:1;     /*    40:27  8 */
   __u64                      namespaces:1;         /*    40:28  8 */
   __u64                      ksymbol:1;            /*    40:29  8 */
   __u64                      bpf_event:1;          /*    40:30  8 */
   __u64                      aux_output:1;         /*    40:31  8 */
   __u64                      cgroup:1;             /*    40:32  8 */
   __u64                      __reserved_1:31;      /*    40:33  8 */
  $

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Tejun Heo <tj@kernel.org>
[staticize perf_event_cgroup function]
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Zefan Li <lizefan@huawei.com>
Link: http://lore.kernel.org/lkml/20200325124536.2800725-2-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
include/uapi/linux/perf_event.h
kernel/events/core.c