Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1271526 > unrolled thread

[PATCH v11 01/24] perf tools: Add 'perf-config' command

Started byTaeung Song <treeze.taeung@gmail.com>
First post2015-11-17 19:40 +0100
Last post2015-11-26 09:30 +0100
Articles 6 on this page of 46 — 6 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v11 01/24] perf tools: Add 'perf-config' command Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
    [PATCH v11 22/24] perf config: Add 'set' feature Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
    [PATCH v11 14/24] perf config: Document 'pager.<subcommand>' variables in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
      Re: [PATCH v11 14/24] perf config: Document 'pager.<subcommand>'  variables in man page Namhyung Kim <namhyung@kernel.org> - 2015-11-18 06:10 +0100
    [PATCH v11 19/24] perf config: Add a option 'skel' to perf-config Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
    [PATCH v11 13/24] perf config: Document 'man.viewer' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
      Re: [PATCH v11 13/24] perf config: Document 'man.viewer' variable in  man page Namhyung Kim <namhyung@kernel.org> - 2015-11-18 06:00 +0100
    [PATCH v11 07/24] perf config: Document variables for 'help' section in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
      Re: [PATCH v11 07/24] perf config: Document variables for 'help'  section in man page Namhyung Kim <namhyung@kernel.org> - 2015-11-18 01:50 +0100
    [PATCH v11 08/24] perf config: Document 'hist.percentage' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
      Re: [PATCH v11 08/24] perf config: Document 'hist.percentage'  variable in man page Namhyung Kim <namhyung@kernel.org> - 2015-11-18 02:00 +0100
    [PATCH v11 18/24] perf config: Add 'list-all' option to perf-config Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
    [PATCH v11 17/24] perf config: Collect configs to handle config variables Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
      Re: [PATCH v11 17/24] perf config: Collect configs to handle config  variables Namhyung Kim <namhyung@kernel.org> - 2015-11-18 06:20 +0100
    [PATCH v11 16/24] perf config: Add '--system' and '--user' options to select which config file is used Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
      Re: [PATCH v11 16/24] perf config: Add '--system' and '--user'  options to select which config file is used Namhyung Kim <namhyung@kernel.org> - 2015-11-18 06:20 +0100
    [PATCH v11 12/24] perf config: Document 'top.chidren' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
      Re: [PATCH v11 12/24] perf config: Document 'top.chidren' variable  in man page Namhyung Kim <namhyung@kernel.org> - 2015-11-18 04:10 +0100
    [PATCH v11 11/24] perf config: Document variables for 'report' section in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
      Re: [PATCH v11 11/24] perf config: Document variables for 'report'  section in man page Namhyung Kim <namhyung@kernel.org> - 2015-11-18 04:10 +0100
    [PATCH v11 24/24] perf config: Add a option 'remove' to perf-config Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
    [PATCH v11 23/24] perf config: normalize a value depending on default type of it Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
    [PATCH v11 04/24] perf config: Document variables for 'tui' and 'gtk' sections in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
      Re: [PATCH v11 04/24] perf config: Document variables for 'tui' and  'gtk' sections in man page Namhyung Kim <namhyung@kernel.org> - 2015-11-18 01:10 +0100
    [PATCH v11 06/24] perf config: Document variables for 'annotate' section in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
      Re: [PATCH v11 06/24] perf config: Document variables for 'annotate'  section in man page Namhyung Kim <namhyung@kernel.org> - 2015-11-18 01:30 +0100
    [PATCH v11 10/24] perf config: Document variables for 'call-graph' section in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
      Re: [PATCH v11 10/24] perf config: Document variables for  'call-graph' section in man page Namhyung Kim <namhyung@kernel.org> - 2015-11-18 04:00 +0100
        Re: [PATCH v11 10/24] perf config: Document variables for 'call-graph' section in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-30 02:50 +0100
          Re: [PATCH v11 10/24] perf config: Document variables for  'call-graph' section in man page Namhyung Kim <namhyung@kernel.org> - 2015-11-30 06:10 +0100
    [PATCH v11 20/24] perf config: Add --verbose option for showing config description Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:40 +0100
    [PATCH v11 03/24] perf config: Document variables for 'color' section in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:50 +0100
      Re: [PATCH v11 03/24] perf config: Document variables for 'color'  section in man page Namhyung Kim <namhyung@kernel.org> - 2015-11-18 00:50 +0100
    [PATCH v11 02/24] perf tools: Add perf-config document Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:50 +0100
      Re: [PATCH v11 02/24] perf tools: Add perf-config document Namhyung Kim <namhyung@kernel.org> - 2015-11-18 00:20 +0100
        Re: [PATCH v11 02/24] perf tools: Add perf-config document Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-19 20:30 +0100
          [PATCH v11 RESEND 02/24] perf tools: Add perf-config document Taeung Song <treeze.taeung@gmail.com> - 2015-11-22 11:20 +0100
            Re: [PATCH v11 RESEND 02/24] perf tools: Add perf-config document Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> - 2015-11-23 15:20 +0100
            [tip:perf/core] perf config: Add initial man page tip-bot for Taeung Song <tipbot@zytor.com> - 2015-11-26 09:30 +0100
          Re: [PATCH v11 02/24] perf tools: Add perf-config document Taeung Song <treeze.taeung@gmail.com> - 2015-11-22 11:20 +0100
    [PATCH v11 09/24] perf config: Document 'ui.show-headers' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:50 +0100
      Re: [PATCH v11 09/24] perf config: Document 'ui.show-headers'  variable in man page Namhyung Kim <namhyung@kernel.org> - 2015-11-18 02:10 +0100
    [PATCH v11 05/24] perf config: Document 'buildid.dir' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-17 19:50 +0100
      Re: [PATCH v11 05/24] perf config: Document 'buildid.dir' variable  in man page Namhyung Kim <namhyung@kernel.org> - 2015-11-18 01:10 +0100
    Re: [PATCH v11 01/24] perf tools: Add 'perf-config' command Namhyung Kim <namhyung@gmail.com> - 2015-11-17 23:40 +0100
    [tip:perf/core] perf tools: Add 'perf config' command tip-bot for Taeung Song <tipbot@zytor.com> - 2015-11-26 09:30 +0100

Page 3 of 3 — ← Prev page 1 2 [3]


#1271559 — [PATCH v11 09/24] perf config: Document 'ui.show-headers' variable in man page

FromTaeung Song <treeze.taeung@gmail.com>
Date2015-11-17 19:50 +0100
Subject[PATCH v11 09/24] perf config: Document 'ui.show-headers' variable in man page
Message-ID<qvTui-is-17@gated-at.bofh.it>
In reply to#1271526
Explain 'ui.show-headers' variable.

Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
 tools/perf/Documentation/perf-config.txt | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
index b166b81..7d386d4 100644
--- a/tools/perf/Documentation/perf-config.txt
+++ b/tools/perf/Documentation/perf-config.txt
@@ -280,6 +280,11 @@ hist.*::
 	       and 'baz' to 50.00% for each, while 'absolute' would show their
 	       current overhead (33.33%).
 
+ui.*::
+	ui.show-headers::
+		There're columns as header 'Overhead', 'Children', 'Shared Object', 'Symbol', 'self'.
+		If this option is false, they are hiden. This option is only applied to TUI.
+
 SEE ALSO
 --------
 linkperf:perf[1]
-- 
1.9.1

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

[toc] | [prev] | [next] | [standalone]


#1271793 — Re: [PATCH v11 09/24] perf config: Document 'ui.show-headers' variable in man page

FromNamhyung Kim <namhyung@kernel.org>
Date2015-11-18 02:10 +0100
SubjectRe: [PATCH v11 09/24] perf config: Document 'ui.show-headers' variable in man page
Message-ID<qvZq2-4iH-13@gated-at.bofh.it>
In reply to#1271559
On Tue, Nov 17, 2015 at 10:53:29PM +0900, Taeung Song wrote:
> Explain 'ui.show-headers' variable.
> 
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Jiri Olsa <jolsa@redhat.com>
> Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
> ---
>  tools/perf/Documentation/perf-config.txt | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
> index b166b81..7d386d4 100644
> --- a/tools/perf/Documentation/perf-config.txt
> +++ b/tools/perf/Documentation/perf-config.txt
> @@ -280,6 +280,11 @@ hist.*::
>  	       and 'baz' to 50.00% for each, while 'absolute' would show their
>  	       current overhead (33.33%).
>  
> +ui.*::
> +	ui.show-headers::
> +		There're columns as header 'Overhead', 'Children', 'Shared Object', 'Symbol', 'self'.

How about this?

		This option controls display of column headers (like 'Overhead'
		and 'Symbol') in 'report' and 'top'.


> +		If this option is false, they are hiden. This option is only applied to TUI.

s/hiden/hidden/

Thanks,
Namhyung


> +
>  SEE ALSO
>  --------
>  linkperf:perf[1]
> -- 
> 1.9.1
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1271561 — [PATCH v11 05/24] perf config: Document 'buildid.dir' variable in man page

FromTaeung Song <treeze.taeung@gmail.com>
Date2015-11-17 19:50 +0100
Subject[PATCH v11 05/24] perf config: Document 'buildid.dir' variable in man page
Message-ID<qvTui-is-23@gated-at.bofh.it>
In reply to#1271526
Explain 'buildid.dir' variable.

Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
 tools/perf/Documentation/perf-config.txt | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
index ec30229..b4ee205 100644
--- a/tools/perf/Documentation/perf-config.txt
+++ b/tools/perf/Documentation/perf-config.txt
@@ -151,6 +151,21 @@ tui.*, gtk.*::
 	By setting value, TUI or GTK can be enabled or not. But it is needed
 	that perf detects the required library for them during build.
 
+buildid.*::
+	buildid.dir::
+		Each executable and shared library in modern distributions comes with a
+		content based identifier that, if available, will be inserted in a
+		'perf.data' file header to, at analysis time find what is needed to do
+		symbol resolution, code annotation, etc.
+
+		The recording tools also stores a hard link or copy in a per-user
+		directory, $HOME/.debug/, of binaries, shared libraries, /proc/kallsyms
+		and /proc/kcore files to be used at analysis time.
+
+		The buildid.dir variable can be used to either change this directory
+		cache location, or to disable it altogether. If you want to disable it,
+		set buildid.dir to /dev/null. The default is $HOME/.debug
+
 SEE ALSO
 --------
 linkperf:perf[1]
-- 
1.9.1

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

[toc] | [prev] | [next] | [standalone]


#1271755 — Re: [PATCH v11 05/24] perf config: Document 'buildid.dir' variable in man page

FromNamhyung Kim <namhyung@kernel.org>
Date2015-11-18 01:10 +0100
SubjectRe: [PATCH v11 05/24] perf config: Document 'buildid.dir' variable in man page
Message-ID<qvYtY-3GN-17@gated-at.bofh.it>
In reply to#1271561
On Tue, Nov 17, 2015 at 10:53:25PM +0900, Taeung Song wrote:
> Explain 'buildid.dir' variable.
> 
> Cc: Jiri Olsa <jolsa@redhat.com>
> Signed-off-by: Taeung Song <treeze.taeung@gmail.com>

Acked-by: Namhyung Kim <namhyung@kernel.org>

Thanks,
Namhyung


> ---
>  tools/perf/Documentation/perf-config.txt | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
> index ec30229..b4ee205 100644
> --- a/tools/perf/Documentation/perf-config.txt
> +++ b/tools/perf/Documentation/perf-config.txt
> @@ -151,6 +151,21 @@ tui.*, gtk.*::
>  	By setting value, TUI or GTK can be enabled or not. But it is needed
>  	that perf detects the required library for them during build.
>  
> +buildid.*::
> +	buildid.dir::
> +		Each executable and shared library in modern distributions comes with a
> +		content based identifier that, if available, will be inserted in a
> +		'perf.data' file header to, at analysis time find what is needed to do
> +		symbol resolution, code annotation, etc.
> +
> +		The recording tools also stores a hard link or copy in a per-user
> +		directory, $HOME/.debug/, of binaries, shared libraries, /proc/kallsyms
> +		and /proc/kcore files to be used at analysis time.
> +
> +		The buildid.dir variable can be used to either change this directory
> +		cache location, or to disable it altogether. If you want to disable it,
> +		set buildid.dir to /dev/null. The default is $HOME/.debug
> +
>  SEE ALSO
>  --------
>  linkperf:perf[1]
> -- 
> 1.9.1
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1271708

FromNamhyung Kim <namhyung@gmail.com>
Date2015-11-17 23:40 +0100
Message-ID<qvX4R-2FN-7@gated-at.bofh.it>
In reply to#1271526
Hi Taeung,

On 2015년 11월 17일 오후 10시 53분 21초 GMT+09:00, Taeung Song <treeze.taeung@gmail.com> wrote:
>The perf configuration file contains many variables to change various
>aspects of each of its tools, including output, disk usage, etc.
>But looking through state of configuration is difficult and
>there's no knowing what kind of other variables except variables
>in perfconfig.example exist. So This patch adds 'perf-config'
>command with '--list' option.
>
>    perf config [options]
>
>    display current perf config variables.
>    # perf config -l | --list
>
>Cc: Jiri Olsa <jolsa@redhat.com>
>Signed-off-by: Taeung Song <treeze.taeung@gmail.com>

Acked-by: Namhyung Kim <namhyung@kernel.org>

Thanks
Namhyung


>---
> tools/perf/Build            |  1 +
>tools/perf/builtin-config.c | 66
>+++++++++++++++++++++++++++++++++++++++++++++
> tools/perf/builtin.h        |  1 +
> tools/perf/command-list.txt |  1 +
> tools/perf/perf.c           |  1 +
> 5 files changed, 70 insertions(+)
> create mode 100644 tools/perf/builtin-config.c
>
>diff --git a/tools/perf/Build b/tools/perf/Build
>index 7223745..2c7aaf2 100644
>--- a/tools/perf/Build
>+++ b/tools/perf/Build
>@@ -1,5 +1,6 @@
> perf-y += builtin-bench.o
> perf-y += builtin-annotate.o
>+perf-y += builtin-config.o
> perf-y += builtin-diff.o
> perf-y += builtin-evlist.o
> perf-y += builtin-help.o
>diff --git a/tools/perf/builtin-config.c b/tools/perf/builtin-config.c
>new file mode 100644
>index 0000000..427ea7a
>--- /dev/null
>+++ b/tools/perf/builtin-config.c
>@@ -0,0 +1,66 @@
>+/*
>+ * builtin-config.c
>+ *
>+ * Copyright (C) 2015, Taeung Song <treeze.taeung@gmail.com>
>+ *
>+ */
>+#include "builtin.h"
>+
>+#include "perf.h"
>+
>+#include "util/cache.h"
>+#include "util/parse-options.h"
>+#include "util/util.h"
>+#include "util/debug.h"
>+
>+static const char * const config_usage[] = {
>+	"perf config [options]",
>+	NULL
>+};
>+
>+enum actions {
>+	ACTION_LIST = 1
>+} actions;
>+
>+static struct option config_options[] = {
>+	OPT_SET_UINT('l', "list", &actions,
>+		     "show current config variables", ACTION_LIST),
>+	OPT_END()
>+};
>+
>+static int show_config(const char *key, const char *value,
>+		       void *cb __maybe_unused)
>+{
>+	if (value)
>+		printf("%s=%s\n", key, value);
>+	else
>+		printf("%s\n", key);
>+
>+	return 0;
>+}
>+
>+int cmd_config(int argc, const char **argv, const char *prefix
>__maybe_unused)
>+{
>+	int ret = 0;
>+
>+	argc = parse_options(argc, argv, config_options, config_usage,
>+			     PARSE_OPT_STOP_AT_NON_OPTION);
>+
>+	switch (actions) {
>+	case ACTION_LIST:
>+		if (argc) {
>+			pr_err("Error: takes no arguments\n");
>+			parse_options_usage(config_usage, config_options, "l", 1);
>+		} else {
>+			ret = perf_config(show_config, NULL);
>+			if (ret < 0)
>+				pr_err("Nothing configured, "
>+				       "please check your ~/.perfconfig file\n");
>+		}
>+		break;
>+	default:
>+		usage_with_options(config_usage, config_options);
>+	}
>+
>+	return ret;
>+}
>diff --git a/tools/perf/builtin.h b/tools/perf/builtin.h
>index 3688ad2..3f871b5 100644
>--- a/tools/perf/builtin.h
>+++ b/tools/perf/builtin.h
>@@ -17,6 +17,7 @@ extern int cmd_annotate(int argc, const char **argv,
>const char *prefix);
> extern int cmd_bench(int argc, const char **argv, const char *prefix);
>extern int cmd_buildid_cache(int argc, const char **argv, const char
>*prefix);
>extern int cmd_buildid_list(int argc, const char **argv, const char
>*prefix);
>+extern int cmd_config(int argc, const char **argv, const char
>*prefix);
> extern int cmd_diff(int argc, const char **argv, const char *prefix);
>extern int cmd_evlist(int argc, const char **argv, const char *prefix);
> extern int cmd_help(int argc, const char **argv, const char *prefix);
>diff --git a/tools/perf/command-list.txt b/tools/perf/command-list.txt
>index 00fcaf8..acc3ea7 100644
>--- a/tools/perf/command-list.txt
>+++ b/tools/perf/command-list.txt
>@@ -9,6 +9,7 @@ perf-buildid-cache		mainporcelain common
> perf-buildid-list		mainporcelain common
> perf-data			mainporcelain common
> perf-diff			mainporcelain common
>+perf-config			mainporcelain common
> perf-evlist			mainporcelain common
> perf-inject			mainporcelain common
> perf-kmem			mainporcelain common
>diff --git a/tools/perf/perf.c b/tools/perf/perf.c
>index 3d4c7c0..4bee53c 100644
>--- a/tools/perf/perf.c
>+++ b/tools/perf/perf.c
>@@ -39,6 +39,7 @@ struct cmd_struct {
> static struct cmd_struct commands[] = {
> 	{ "buildid-cache", cmd_buildid_cache, 0 },
> 	{ "buildid-list", cmd_buildid_list, 0 },
>+	{ "config",	cmd_config,	0 },
> 	{ "diff",	cmd_diff,	0 },
> 	{ "evlist",	cmd_evlist,	0 },
> 	{ "help",	cmd_help,	0 },


-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1278065 — [tip:perf/core] perf tools: Add 'perf config' command

Fromtip-bot for Taeung Song <tipbot@zytor.com>
Date2015-11-26 09:30 +0100
Subject[tip:perf/core] perf tools: Add 'perf config' command
Message-ID<qz06d-2tb-1@gated-at.bofh.it>
In reply to#1271526
Commit-ID:  30862f2c5725c46afcfab5af710fdf5163bf0f81
Gitweb:     http://git.kernel.org/tip/30862f2c5725c46afcfab5af710fdf5163bf0f81
Author:     Taeung Song <treeze.taeung@gmail.com>
AuthorDate: Tue, 17 Nov 2015 22:53:21 +0900
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 23 Nov 2015 18:31:24 -0300

perf tools: Add 'perf config' command

The perf configuration file contains many variables to change various
aspects of each of its tools, including output, disk usage, etc.

But looking at the state of configuration is difficult and there's no
documentation about config variables except for the variables in
perfconfig.example exist.

So this patch adds a 'perf-config' command with a '--list' option.

    perf config [options]

    display current perf config variables.
    # perf config -l | --list

Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1447768424-17327-1-git-send-email-treeze.taeung@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/Build            |  1 +
 tools/perf/builtin-config.c | 66 +++++++++++++++++++++++++++++++++++++++++++++
 tools/perf/builtin.h        |  1 +
 tools/perf/command-list.txt |  1 +
 tools/perf/perf.c           |  1 +
 5 files changed, 70 insertions(+)

diff --git a/tools/perf/Build b/tools/perf/Build
index 7223745..2c7aaf2 100644
--- a/tools/perf/Build
+++ b/tools/perf/Build
@@ -1,5 +1,6 @@
 perf-y += builtin-bench.o
 perf-y += builtin-annotate.o
+perf-y += builtin-config.o
 perf-y += builtin-diff.o
 perf-y += builtin-evlist.o
 perf-y += builtin-help.o
diff --git a/tools/perf/builtin-config.c b/tools/perf/builtin-config.c
new file mode 100644
index 0000000..427ea7a
--- /dev/null
+++ b/tools/perf/builtin-config.c
@@ -0,0 +1,66 @@
+/*
+ * builtin-config.c
+ *
+ * Copyright (C) 2015, Taeung Song <treeze.taeung@gmail.com>
+ *
+ */
+#include "builtin.h"
+
+#include "perf.h"
+
+#include "util/cache.h"
+#include "util/parse-options.h"
+#include "util/util.h"
+#include "util/debug.h"
+
+static const char * const config_usage[] = {
+	"perf config [options]",
+	NULL
+};
+
+enum actions {
+	ACTION_LIST = 1
+} actions;
+
+static struct option config_options[] = {
+	OPT_SET_UINT('l', "list", &actions,
+		     "show current config variables", ACTION_LIST),
+	OPT_END()
+};
+
+static int show_config(const char *key, const char *value,
+		       void *cb __maybe_unused)
+{
+	if (value)
+		printf("%s=%s\n", key, value);
+	else
+		printf("%s\n", key);
+
+	return 0;
+}
+
+int cmd_config(int argc, const char **argv, const char *prefix __maybe_unused)
+{
+	int ret = 0;
+
+	argc = parse_options(argc, argv, config_options, config_usage,
+			     PARSE_OPT_STOP_AT_NON_OPTION);
+
+	switch (actions) {
+	case ACTION_LIST:
+		if (argc) {
+			pr_err("Error: takes no arguments\n");
+			parse_options_usage(config_usage, config_options, "l", 1);
+		} else {
+			ret = perf_config(show_config, NULL);
+			if (ret < 0)
+				pr_err("Nothing configured, "
+				       "please check your ~/.perfconfig file\n");
+		}
+		break;
+	default:
+		usage_with_options(config_usage, config_options);
+	}
+
+	return ret;
+}
diff --git a/tools/perf/builtin.h b/tools/perf/builtin.h
index 3688ad2..3f871b5 100644
--- a/tools/perf/builtin.h
+++ b/tools/perf/builtin.h
@@ -17,6 +17,7 @@ extern int cmd_annotate(int argc, const char **argv, const char *prefix);
 extern int cmd_bench(int argc, const char **argv, const char *prefix);
 extern int cmd_buildid_cache(int argc, const char **argv, const char *prefix);
 extern int cmd_buildid_list(int argc, const char **argv, const char *prefix);
+extern int cmd_config(int argc, const char **argv, const char *prefix);
 extern int cmd_diff(int argc, const char **argv, const char *prefix);
 extern int cmd_evlist(int argc, const char **argv, const char *prefix);
 extern int cmd_help(int argc, const char **argv, const char *prefix);
diff --git a/tools/perf/command-list.txt b/tools/perf/command-list.txt
index 00fcaf8..acc3ea7 100644
--- a/tools/perf/command-list.txt
+++ b/tools/perf/command-list.txt
@@ -9,6 +9,7 @@ perf-buildid-cache		mainporcelain common
 perf-buildid-list		mainporcelain common
 perf-data			mainporcelain common
 perf-diff			mainporcelain common
+perf-config			mainporcelain common
 perf-evlist			mainporcelain common
 perf-inject			mainporcelain common
 perf-kmem			mainporcelain common
diff --git a/tools/perf/perf.c b/tools/perf/perf.c
index 3d4c7c0..4bee53c 100644
--- a/tools/perf/perf.c
+++ b/tools/perf/perf.c
@@ -39,6 +39,7 @@ struct cmd_struct {
 static struct cmd_struct commands[] = {
 	{ "buildid-cache", cmd_buildid_cache, 0 },
 	{ "buildid-list", cmd_buildid_list, 0 },
+	{ "config",	cmd_config,	0 },
 	{ "diff",	cmd_diff,	0 },
 	{ "evlist",	cmd_evlist,	0 },
 	{ "help",	cmd_help,	0 },
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Page 3 of 3 — ← Prev page 1 2 [3]

Back to top | Article view | linux.kernel


csiph-web