From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Taeung Song <treeze.taeung@gmail.com>
Cc: linux-kernel@vger.kernel.org, Jiri Olsa <jolsa@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Wang Nan <wangnan0@huawei.com>
Subject: Re: [PATCH v2 2/4] perf ftrace: Add ftrace.tracer config option
Date: Tue, 31 Jan 2017 10:15:09 -0300 [thread overview]
Message-ID: <20170131131509.GD4491@kernel.org> (raw)
In-Reply-To: <20170131124628.GC4491@kernel.org>
Em Tue, Jan 31, 2017 at 09:46:28AM -0300, Arnaldo Carvalho de Melo escreveu:
> Also you are silently ignoring any unknown variable in this section, so
> if someone has this:
>
> cat ~/.perfconfig
>
> [ftrace]
>
> trace = function
>
>
> I.e. forgets the 'r', it will keep using the current default,
> "function_graph" till the user checks the config and adds that missing
> 'r'...
>
> I haven't changed this because I think this is so common that we should
> instead have a different error return for those config callbacks that
> will tell perf_config() to say something like:
>
> "unknown variable %s.%s\n", section_name, variable_name
So I read a bit more the config code and ended up with this:
static int perf_ftrace_config(const char *var, const char *value, void *cb)
{
struct perf_ftrace *ftrace = cb;
if (prefixcmp(var, "ftrace."))
return 0;
if (strcmp(var, "ftrace.tracer"))
return -1;
if (!strcmp(value, "function_graph") ||
!strcmp(value, "function")) {
ftrace->tracer = value;
return 0;
}
pr_err("Please select \"function_graph\" (default) or \"function\"\n");
return -1;
}
I.e. it will ignore variables for other sections and will stop at an unknown
variable or value for ftrace.tracer:
[root@jouet ~]# cat ~/.perfconfig
[ftrace]
trace = function
[root@jouet ~]# perf ftrace usleep 1
Error: wrong config key-value pair ftrace.trace=function
[root@jouet ~]# cat ~/.perfconfig
[ftrace]
tracer = functin
[root@jouet ~]# perf ftrace usleep 1
Please select "function_graph" (default) or "function"
Error: wrong config key-value pair ftrace.tracer=functin
[root@jouet ~]# cat ~/.perfconfig
[ftrace]
tracer = function
[root@jouet ~]# perf ftrace usleep 1 | head -5
<idle>-0 [000] d... 3855.820847: switch_mm_irqs_off <-__schedule
<...>-18550 [000] d... 3855.820849: finish_task_switch <-__schedule
<...>-18550 [000] d... 3855.820851: smp_irq_work_interrupt <-irq_work_interrupt
<...>-18550 [000] d... 3855.820851: irq_enter <-smp_irq_work_interrupt
<...>-18550 [000] d... 3855.820851: rcu_irq_enter <-irq_enter
[root@jouet ~]#
- Arnaldo
next prev parent reply other threads:[~2017-01-31 13:15 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-31 11:38 [PATCH v2 0/4] Add ftrace config and refactor several parts Taeung Song
2017-01-31 11:38 ` [PATCH v2 1/4] perf tools: Create for_each_event macro for tracepoints iteration Taeung Song
2017-01-31 12:21 ` Arnaldo Carvalho de Melo
2017-01-31 12:23 ` Arnaldo Carvalho de Melo
2017-01-31 17:32 ` Steven Rostedt
2017-02-01 7:02 ` Taeung Song
2017-02-01 14:43 ` [tip:perf/core] " tip-bot for Taeung Song
2017-01-31 11:38 ` [PATCH v2 2/4] perf ftrace: Add ftrace.tracer config option Taeung Song
2017-01-31 12:46 ` Arnaldo Carvalho de Melo
2017-01-31 13:15 ` Arnaldo Carvalho de Melo [this message]
2017-02-01 7:27 ` Taeung Song
2017-02-01 14:43 ` [tip:perf/core] " tip-bot for Taeung Song
2017-01-31 11:38 ` [PATCH v2 3/4] perf tools: Check NULL after zalloc() and Use zfree() instead of free() in parse-events.c Taeung Song
2017-01-31 13:23 ` Arnaldo Carvalho de Melo
2017-02-01 8:04 ` Taeung Song
2017-01-31 11:38 ` [PATCH v2 4/4] perf tools: Increase index if perf_evsel__new_idx() succeeded Taeung Song
2017-01-31 13:25 ` Arnaldo Carvalho de Melo
2017-02-01 8:04 ` Taeung Song
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170131131509.GD4491@kernel.org \
--to=acme@kernel.org \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=treeze.taeung@gmail.com \
--cc=wangnan0@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.