perf record: Fix to honor user freq/interval properly
authorNamhyung Kim <namhyung@kernel.org>
Mon, 9 Jun 2014 05:43:37 +0000 (14:43 +0900)
committerJiri Olsa <jolsa@kernel.org>
Thu, 12 Jun 2014 14:53:18 +0000 (16:53 +0200)
commit17314e2385c6627fcab4b8f97bd6668bb63495c0
tree6c43e302f0e99181a75417467eb25e98c8e695b7
parent7184062b94b4bfac08715fb786fd2df399c5d6ee
perf record: Fix to honor user freq/interval properly

When configuring event perf checked a wrong condition that user
specified both of freq (-F) and period (-c) or the event has no
default value.  This worked because most of events don't have default
value and only tracepoint events have default of 1 (and it's not
desirable to change it for those events).

However, Andi's downloadable event patch changes the situation so it
cannot change the value for those events.  Fix it by allowing override
the default value if user gives one of the options.

  $ perf record -a -e uops_retired.all -F 4000 sleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.325 MB perf.data (~14185 samples) ]

  $ perf evlist -F
  cpu/uops_retired.all/: sample_freq=4000

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Link: http://lkml.kernel.org/r/1402292617-26278-1-git-send-email-namhyung@kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
tools/perf/util/evsel.c