• Jiri Olsa's avatar
    perf evsel: Fix period/freq terms setup · 49c0ae80
    Jiri Olsa authored
    Stephane reported that we don't set properly PERIOD sample type for
    events with period term defined.
    
    Before:
      $ perf record -e cpu/cpu-cycles,period=1000/u ls
      $ perf evlist -v
      cpu/cpu-cycles,period=1000/u: ... sample_type: IP|TID|TIME|PERIOD, ...
    
    After:
      $ perf record -e cpu/cpu-cycles,period=1000/u ls
      $ perf evlist -v
      cpu/cpu-cycles,period=1000/u: ... sample_type: IP|TID|TIME, ...
    
    Setting PERIOD sample type based on period term setup.
    
    Committer note:
    
    When we use -c or a period=N term in the event definition, then we don't
    need to ask the kernel, for this event, via perf_event_attr.sample_type
    |= PERF_SAMPLE_PERIOD, to put the event period in each sample for this
    event, as we know it already, it is in perf_event_attr.sample_period.
    Reported-by: default avatarStephane Eranian <eranian@google.com>
    Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
    Tested-by: default avatarStephane Eranian <eranian@google.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20180201083812.11359-2-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    49c0ae80
evsel.c 70.7 KB