[PATCH 7/8] perf, tools, record: Always allow to overide default period

From: Andi Kleen
Date: Wed Mar 05 2014 - 14:53:01 EST


From: Andi Kleen <ak@xxxxxxxxxxxxxxx>

Fix the logic to allow overriding event default periods with -c or -F
on the command line. I'm not sure what the previous if was supposed
to do, it didn't work and seemed bogus. I just remove the extra
check and unconditionally allow overiding when the user set
an option.

This fixed specifying -c / -F with json event list events,
which have a default period. It should do the same
for trace point events.

Cc: fweisbec@xxxxxxxxx
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
---
tools/perf/util/evsel.c | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index adc94dd..ca4b976 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -561,19 +561,15 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts)
}

/*
- * We default some events to a 1 default interval. But keep
- * it a weak assumption overridable by the user.
+ * Let the user override any default periods.
*/
- if (!attr->sample_period || (opts->user_freq != UINT_MAX &&
- opts->user_interval != ULLONG_MAX)) {
- if (opts->freq) {
- perf_evsel__set_sample_bit(evsel, PERIOD);
- attr->freq = 1;
- attr->sample_freq = opts->freq;
- } else {
- attr->sample_period = opts->default_interval;
- }
+ if (opts->user_freq != UINT_MAX) {
+ perf_evsel__set_sample_bit(evsel, PERIOD);
+ attr->freq = 1;
+ attr->sample_freq = opts->freq;
}
+ if (opts->user_interval != ULLONG_MAX)
+ attr->sample_period = opts->default_interval;

/*
* Disable sampling for all group members other
--
1.8.5.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/