• Jiri Olsa's avatar
    perf tools: Force period term to overload global settings · ee4c7588
    Jiri Olsa authored
    Currently the command line option settings beats the per event period
    settings:
    
    With no global settings, we get per-event configuration:
    
      $ perf record -e 'cpu/instructions,period=20000/' sleep 1
      $ perf evlist -v
      ... { sample_period, sample_freq }: 20000 ...
    
    With 'c' option period setup, we get 'c' option value:
      $ perf record -e 'cpu/instructions,period=20000/' -c 1000 sleep 1
      $ perf evlist -v
      ... { sample_period, sample_freq }: 1000 ...
    
    This patch makes the per-event settings overload the global 'c' option
    setup:
    
      $ perf record -e 'cpu/instructions,period=20000/' -c 1000 sleep 1
      $ perf evlist -v
      ... { sample_period, sample_freq }: 20000 ...
    
    I think the making the per-event settings to overload any other config
    makes more sense than current state. However it breaks the current
    'period' term handling, which might cause some noise.. so let's see ;-).
    
    Also fixing parse event tests with the new behaviour.
    Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Kan Liang <kan.liang@intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: http://lkml.kernel.org/r/1438162936-59698-3-git-send-email-kan.liang@intel.comSigned-off-by: default avatarKan Liang <kan.liang@intel.com>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    ee4c7588
evsel.c 53.6 KB