Skip to content
  • Stephane Eranian's avatar
    perf: Add cgroup support · e5d1367f
    Stephane Eranian authored
    
    
    This kernel patch adds the ability to filter monitoring based on
    container groups (cgroups). This is for use in per-cpu mode only.
    
    The cgroup to monitor is passed as a file descriptor in the pid
    argument to the syscall. The file descriptor must be opened to
    the cgroup name in the cgroup filesystem. For instance, if the
    cgroup name is foo and cgroupfs is mounted in /cgroup, then the
    file descriptor is opened to /cgroup/foo. Cgroup mode is
    activated by passing PERF_FLAG_PID_CGROUP in the flags argument
    to the syscall.
    
    For instance to measure in cgroup foo on CPU1 assuming
    cgroupfs is mounted under /cgroup:
    
    struct perf_event_attr attr;
    int cgroup_fd, fd;
    
    cgroup_fd = open("/cgroup/foo", O_RDONLY);
    fd = perf_event_open(&attr, cgroup_fd, 1, -1, PERF_FLAG_PID_CGROUP);
    close(cgroup_fd);
    
    Signed-off-by: default avatarStephane Eranian <eranian@google.com>
    [ added perf_cgroup_{exit,attach} ]
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <4d590250.114ddf0a.689e.4482@mx.google.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    e5d1367f