Virtual Private Server (VPS) Hosting provided by Central Point Networking cpnllc.com
For some reason, the "Nodelist" and "Recent Callers" features are not working.
Sysop: | Ray Quinn |
---|---|
Location: | Visalia, CA |
Users: | 56 |
Nodes: | 10 (0 / 10) |
Uptime: | 138:33:38 |
Calls: | 9 |
Files: | 12,278 |
Messages: | 150,732 |
Check out the US 99 menu above for links to information about US Highway 99, after which the US 99 BBS is named.
Be sure to click on the Amateur Radio menu item above for packet BBSes, packet software, packet organizations, as well as packet how-to's. Also included is links to local and some not-so-local Amateur Radio Clubs.
Lately commit a349764 made 'function_graph' be the default tracer.
So ftrace.tracer variable can't be NULL but the other code setting default tracer remained. For this reason, remove it as below.
And use existing DEFAULT_TRACER instead of "function_graph".
Cc: Jiri Olsa <jolsa@kernel.org>*prefix __maybe_unused)
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
tools/perf/builtin-ftrace.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c
index d05658d..414444d 100644
--- a/tools/perf/builtin-ftrace.c
+++ b/tools/perf/builtin-ftrace.c
@@ -202,7 +202,7 @@ int cmd_ftrace(int argc, const char **argv, const char
{*prefix __maybe_unused)
int ret;
struct perf_ftrace ftrace = {
- .tracer = "function_graph",
+ .tracer = DEFAULT_TRACER,
.target = { .uid = UINT_MAX, },
};
const char * const ftrace_usage[] = {
@@ -231,9 +231,6 @@ int cmd_ftrace(int argc, const char **argv, const char
if (ret < 0)
goto out_delete_evlist;
- if (ftrace.tracer == NULL)
- ftrace.tracer = DEFAULT_TRACER;
-
ret = __cmd_ftrace(&ftrace, argc, argv);
out_delete_evlist:
--
2.7.4
Currently perf ftrace command will select 'function_graph' or 'function'.<-pipe_read
So add ftrace.tracer config option to select tracer
# cat ~/.perfconfig
[ftrace]
tracer = function
# perf ftrace usleep 123456 | head -10
<...>-14450 [002] d... 10089.284231: finish_task_switch <-__schedule
<...>-14450 [002] .... 10089.284232: finish_wait <-pipe_wait
<...>-14450 [002] .... 10089.284232: mutex_lock <-pipe_wait
<...>-14450 [002] .... 10089.284232: _cond_resched <-mutex_lock
<...>-14450 [002] .... 10089.284233: generic_pipe_buf_confirm
Cc: Jiri Olsa <jolsa@kernel.org>argc, const char **argv)
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
tools/perf/builtin-ftrace.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c
index 414444d..8df5416 100644
--- a/tools/perf/builtin-ftrace.c
+++ b/tools/perf/builtin-ftrace.c
@@ -17,6 +17,7 @@
#include "evlist.h"
#include "target.h"
#include "thread_map.h"
+#include "util/config.h"
#define DEFAULT_TRACER "function_graph"
@@ -198,6 +199,23 @@ static int __cmd_ftrace(struct perf_ftrace *ftrace, int
return done ? 0 : -1;
}
+static int perf_ftrace_config(const char *var, const char *value, void *cb) +{
+ struct perf_ftrace *ftrace = cb;
+
+ if (!strcmp(var, "ftrace.tracer")) {
+ if (!strcmp(value, "function_graph"))
+ ftrace->tracer = DEFAULT_TRACER;
+ else if (!strcmp(value, "function"))
+ ftrace->tracer = "function";
+ else
+ return -1;
+ return 0;__maybe_unused)
+ }
+
+ return 0;
+}
+
int cmd_ftrace(int argc, const char **argv, const char *prefix
{*prefix __maybe_unused)
int ret;
@@ -218,6 +236,8 @@ int cmd_ftrace(int argc, const char **argv, const char
OPT_END()
};
+ perf_config(perf_ftrace_config, &ftrace);
+
argc = parse_options(argc, argv, ftrace_options, ftrace_usage,
PARSE_OPT_STOP_AT_NON_OPTION);
if (!argc)
--
2.7.4
Em Thu, Jan 26, 2017 at 06:35:38PM +0900, Taeung Song escreveu:argc, const char **argv)
Currently perf ftrace command will select 'function_graph' or 'function'.
So add ftrace.tracer config option to select tracer
# cat ~/.perfconfig
[ftrace]
tracer = function
# perf ftrace usleep 123456 | head -10
<...>-14450 [002] d... 10089.284231: finish_task_switch <-__schedule >> <...>-14450 [002] .... 10089.284232: finish_wait <-pipe_wait
<...>-14450 [002] .... 10089.284232: mutex_lock <-pipe_wait
<...>-14450 [002] .... 10089.284232: _cond_resched <-mutex_lock
<...>-14450 [002] .... 10089.284233: generic_pipe_buf_confirm <-pipe_read
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
tools/perf/builtin-ftrace.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c
index 414444d..8df5416 100644
--- a/tools/perf/builtin-ftrace.c
+++ b/tools/perf/builtin-ftrace.c
@@ -17,6 +17,7 @@
#include "evlist.h"
#include "target.h"
#include "thread_map.h"
+#include "util/config.h"
#define DEFAULT_TRACER "function_graph"
@@ -198,6 +199,23 @@ static int __cmd_ftrace(struct perf_ftrace *ftrace, int
return done ? 0 : -1;
}
+static int perf_ftrace_config(const char *var, const char *value, void *cb) >> +{
+ struct perf_ftrace *ftrace = cb;
+
+ if (!strcmp(var, "ftrace.tracer")) {
+ if (!strcmp(value, "function_graph"))
+ ftrace->tracer = DEFAULT_TRACER;
+ else if (!strcmp(value, "function"))
+ ftrace->tracer = "function";
+ else
+ return -1;
Please warn the user for invalid values and either just say that it is ignoring that setting or return -1 to make perf_config() return that,
then make cmd_ftrace() check the return of perf_config() and bail out if you're not ignoring the config value.
I think its better to do a: "pr_err()" in that "return -1" branch and
make 'perf ftrace' fail, so that the user can fix its config before proceeding.
Em Thu, Jan 26, 2017 at 06:35:38PM +0900, Taeung Song escreveu:argc, const char **argv)
Currently perf ftrace command will select 'function_graph' or 'function'.
So add ftrace.tracer config option to select tracer
# cat ~/.perfconfig
[ftrace]
tracer = function
# perf ftrace usleep 123456 | head -10
<...>-14450 [002] d... 10089.284231: finish_task_switch <-__schedule >> <...>-14450 [002] .... 10089.284232: finish_wait <-pipe_wait
<...>-14450 [002] .... 10089.284232: mutex_lock <-pipe_wait
<...>-14450 [002] .... 10089.284232: _cond_resched <-mutex_lock
<...>-14450 [002] .... 10089.284233: generic_pipe_buf_confirm <-pipe_read
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
tools/perf/builtin-ftrace.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c
index 414444d..8df5416 100644
--- a/tools/perf/builtin-ftrace.c
+++ b/tools/perf/builtin-ftrace.c
@@ -17,6 +17,7 @@
#include "evlist.h"
#include "target.h"
#include "thread_map.h"
+#include "util/config.h"
#define DEFAULT_TRACER "function_graph"
@@ -198,6 +199,23 @@ static int __cmd_ftrace(struct perf_ftrace *ftrace, int
return done ? 0 : -1;
}
+static int perf_ftrace_config(const char *var, const char *value, void *cb) >> +{
+ struct perf_ftrace *ftrace = cb;
+
+ if (!strcmp(var, "ftrace.tracer")) {
+ if (!strcmp(value, "function_graph"))
+ ftrace->tracer = DEFAULT_TRACER;
+ else if (!strcmp(value, "function"))
+ ftrace->tracer = "function";
+ else
+ return -1;
Please warn the user for invalid values and either just say that it is ignoring that setting or return -1 to make perf_config() return that,
then make cmd_ftrace() check the return of perf_config() and bail out if you're not ignoring the config value.
I think its better to do a: "pr_err()" in that "return -1" branch and
make 'perf ftrace' fail, so that the user can fix its config before proceeding.