PERF_SAMPLE_REGS_INTR                   = 1U << 18,
        PERF_SAMPLE_PHYS_ADDR                   = 1U << 19,
        PERF_SAMPLE_AUX                         = 1U << 20,
+       PERF_SAMPLE_CGROUP                      = 1U << 21,
 
-       PERF_SAMPLE_MAX = 1U << 21,             /* non-ABI */
+       PERF_SAMPLE_MAX = 1U << 22,             /* non-ABI */
 
        __PERF_SAMPLE_CALLCHAIN_EARLY           = 1ULL << 63, /* non-ABI; internal use */
 };
                                ksymbol        :  1, /* include ksymbol events */
                                bpf_event      :  1, /* include bpf events */
                                aux_output     :  1, /* generate AUX records instead of events */
-                               __reserved_1   : 32;
+                               cgroup         :  1, /* include cgroup events */
+                               __reserved_1   : 31;
 
        union {
                __u32           wakeup_events;    /* wakeup every n events */
         */
        PERF_RECORD_BPF_EVENT                   = 18,
 
+       /*
+        * struct {
+        *      struct perf_event_header        header;
+        *      u64                             id;
+        *      char                            path[];
+        *      struct sample_id                sample_id;
+        * };
+        */
+       PERF_RECORD_CGROUP                      = 19,
+
        PERF_RECORD_MAX,                        /* non-ABI */
 };