On 6/26/13 11:23 PM, Namhyung Kim wrote:
On Wed, 26 Jun 2013 11:12:19 -0600, David Ahern wrote:
On 6/26/13 1:14 AM, Namhyung Kim wrote:
@@ -196,6 +222,8 @@ int cmd_ftrace(int argc, const char **argv, const char 
*prefix __maybe_unused)
        const struct option ftrace_options[] = {
        OPT_STRING('t', "tracer", &ftrace.tracer, "tracer",
                   "tracer to use"),
+       OPT_STRING('p', "pid", &ftrace.target.tid, "pid",
+                  "trace on existing process id"),
        OPT_INCR('v', "verbose", &verbose,
                 "be more verbose"),
        OPT_END()

You are calling it pid but assigning it as a tid which is inconsistent
with other perf commands. e.g., perf-record allows a list of pids (-p)
or tids (-t). Why not support that in perf-ftrace? And that leads to
the comment about consistency of options across perf commands: -t is
used here for tracer type to use.

Sorry, I should've mentioned it.

The pid filtering in ftrace is done via set_ftrace_pid file under the
tracing debugfs directory.  IIRC It only supports process filtering not
thread filtering by iterating all threads in the kernel code.  So --tid
option cannot be implemented as other perf commands.

So I chose not to and assigned -t option to --tracer.

Could that ever change? With the current code why call it pid in the option but assign it to target.tid? Seems a like a source for confusion later. Would be better to just assign to target.pid and let the machinery do the right thing.

David

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

Reply via email to