• Arnaldo Carvalho de Melo's avatar
    perf record: Move restricted maps check to after a possible fallback to not collect kernel samples · c8b567c8
    Arnaldo Carvalho de Melo authored
    Before:
    
      [acme@quaco ~]$ perf record -b -e cycles date
      WARNING: Kernel address maps (/proc/{kallsyms,modules}) are restricted,
      check /proc/sys/kernel/kptr_restrict and /proc/sys/kernel/perf_event_paranoid.
    
      Samples in kernel functions may not be resolved if a suitable vmlinux
      file is not found in the buildid cache or in the vmlinux path.
    
      Samples in kernel modules won't be resolved at all.
    
      If some relocation was applied (e.g. kexec) symbols may be misresolved
      even with a suitable vmlinux or kallsyms file.
    
      Mon 23 Sep 2019 11:00:59 AM -03
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.005 MB perf.data (14 samples) ]
      [acme@quaco ~]$
    
    But we did a fallback and exclude_kernel was set, so no need for
    resolving kernel symbols:
    
      $ perf evlist -v
      cycles:u: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD|BRANCH_STACK, read_format: ID, disabled: 1, inherit: 1, exclude_kernel: 1, exclude_hv: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1, ksymbol: 1, bpf_event: 1, branch_sample_type: ANY
      $
    
    After:
    
      [acme@quaco ~]$ perf record -b -e cycles date
      Mon 23 Sep 2019 11:07:18 AM -03
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.007 MB perf.data (16 samples) ]
      [acme@quaco ~]$ perf evlist -v
      cycles:u: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD|BRANCH_STACK, read_format: ID, disabled: 1, inherit: 1, exclude_kernel: 1, exclude_hv: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1, ksymbol: 1, bpf_event: 1, branch_sample_type: ANY
      [acme@quaco ~]$
    
    No needless warning is emitted.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: https://lkml.kernel.org/n/tip-5yqnr8xcqwhr15xktj2097ac@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    c8b567c8
builtin-record.c 65.4 KB