• Namhyung Kim's avatar
    perf record: Add --setup-filter option · 3dee4b83
    Namhyung Kim authored
    To allow BPF filters for unprivileged users it needs to pin the BPF
    objects to BPF-fs first.  Let's add a new option to pin and unpin the
    objects easily.  I'm not sure 'perf record' is a right place to do this
    but I don't have a better idea right now.
    
      $ sudo perf record --setup-filter pin
    
    The above command would pin BPF program and maps for the filter when the
    system has BPF-fs (usually at /sys/fs/bpf/).  To unpin the objects,
    users can run the following command (as root).
    
      $ sudo perf record --setup-filter unpin
    
    Committer testing:
    
      root@number:~# perf record --setup-filter pin
      root@number:~# ls -la /sys/fs/bpf/perf_filter/
      total 0
      drwxr-xr-x. 2 root root 0 Jul 31 10:43 .
      drwxr-xr-t. 3 root root 0 Jul 31 10:43 ..
      -rw-rw-rw-. 1 root root 0 Jul 31 10:43 dropped
      -rw-rw-rw-. 1 root root 0 Jul 31 10:43 filters
      -rwxrwxrwx. 1 root root 0 Jul 31 10:43 perf_sample_filter
      -rw-rw-rw-. 1 root root 0 Jul 31 10:43 pid_hash
      -rw-------. 1 root root 0 Jul 31 10:43 sample_f_rodata
      root@number:~# ls -la /sys/fs/bpf/perf_filter/perf_sample_filter
      -rwxrwxrwx. 1 root root 0 Jul 31 10:43 /sys/fs/bpf/perf_filter/perf_sample_filter
      root@number:~#
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: KP Singh <kpsingh@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Song Liu <song@kernel.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: bpf@vger.kernel.org
    Link: https://lore.kernel.org/r/20240703223035.2024586-8-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    3dee4b83
perf-record.txt 32.2 KB