• Adrian Hunter's avatar
    perf record: Add a function to test for kernel support for AUX area sampling · 9bca1a4e
    Adrian Hunter authored
    
    
    Architectures are expected to know if AUX area sampling is supported by
    the hardware. Add a function perf_can_aux_sample() which will determine
    whether the kernel supports it.
    
    Committer notes:
    
    I reported that this message was taking place on a kernel without the
    required bits:
    
      # perf record --aux-sample -e '{intel_pt//u,branch-misses:u}'
      Error:
      The sys_perf_event_open() syscall returned with 7 (Argument list too long) for event (branch-misses:u).
      /bin/dmesg | grep -i perf may provide additional information.
    
    Adrian sent a patch addressing it, with this explanation:
    
     ----
      perf_can_aux_sample_size() always returned true because it did not pass
      the attribute size to sys_perf_event_open, nor correctly check the
      return value and errno.
     ----
    
    After applying it I get, later in the series, when --aux-sample is
    added:
    
      # perf record --aux-sample -e '{intel_pt//u,branch-misses:u}'
      AUX area sampling is not supported by kernel
    Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Link: http://lore.kernel.org/lkml/20191115124225.5247-4-adrian.hunter@intel.com
    
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    9bca1a4e
evlist.h 11.4 KB