mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-10 07:50:04 +00:00
perf record: Disallow -c and -F option at the same time
It's confusing which one is effective when the both options are given. The current code happens to use -c in this case but users might not be aware of it. We can change it to complain about that instead of relying on the implicit priority. Before: $ perf record -c 111111 -F 99 true [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.031 MB perf.data (8 samples) ] $ perf evlist -F cycles: sample_period=111111 $ After: $ perf record -c 111111 -F 99 true cannot set frequency and period at the same time $ So this change can break existing usages, but I think it's rare to have both options and it'd be better changing them. Suggested-by: Alexey Alexandrov <aalexand@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lore.kernel.org/lkml/20210402094020.28164-1-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
b3172585b1
commit
e8c1167606
@ -157,9 +157,15 @@ static int get_max_rate(unsigned int *rate)
|
||||
static int record_opts__config_freq(struct record_opts *opts)
|
||||
{
|
||||
bool user_freq = opts->user_freq != UINT_MAX;
|
||||
bool user_interval = opts->user_interval != ULLONG_MAX;
|
||||
unsigned int max_rate;
|
||||
|
||||
if (opts->user_interval != ULLONG_MAX)
|
||||
if (user_interval && user_freq) {
|
||||
pr_err("cannot set frequency and period at the same time\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (user_interval)
|
||||
opts->default_interval = opts->user_interval;
|
||||
if (user_freq)
|
||||
opts->freq = opts->user_freq;
|
||||
|
Loading…
x
Reference in New Issue
Block a user