2015-12-02 11:23:50

by Taeung Song

[permalink] [raw]
Subject: [PATCH v12 00/22] perf config: Add functionalities into perf-config and document config info

Add options (user, system, list-all, skel, verbose, remove) and
getting and setting features into perf-config subcommand to more useful.
And document perf config informations for each section.

Changes in v12:
- Modify perf-config documentation for each section to be more proper
and correct small typing errors as suggested by Namhyung (PATCH v12 1~13/22)
- Add missed config variables that are group, show_linenr and show_total_period
as suggested by Namhyung (PATCH v12 4,9,16/22)

Changes in v11:
- Add --skel option to produce an skeleton with the possible config variables
as suggested by Arnaldo (PATCH v11 19/24)
- Add exception handling to --list option when nothing configured.
as suggested by Arnaldo (PATCH v11 18/24)
- Default action without option is to show an usage message.
as suggested by Arnaldo (PATCH v11 1/24)

Changes in v10:
- Split perf-config.txt into several patches for each section and replace some
paragraphes with better proper things as suggested by Arnaldo and Namhyung
(PATCH v10 2~15/22)
- Correct wrong default values for each variable as suggested by Namhyung
(PATCH v10 18/22)
- Remove the compare name function.

Changes in v9:
- Add the compare name functionality treating '-' and '-' as being the same thing
for usability (PATCH v9 4/9)

Changes in v8:
- Correct small typing errors in a perf-config documention (PATCH v8 1/8)
- Split the collecting configs part into a separate patch (PATCH v8 3/8)
- Use new enum and struct for default configs instead of hard-coded value
as suggested by Namhyung (PATCH v8 4/8)

Changes in v7:
- Modify explanations of syntax and options(color, gtk, tui, buildid, annotate)
to be better proper descriptions as suggested by Arnaldo (PATCH v7 1/7)

Changes in v6:
- Split a 'set' feature patch into two patch to separate normalize_value() from it.
(PATCH v6 5/7, PATCH v6 6/7)
- Bug fix : 'remove' and 'set' malfunctions when without a specific file-option.
(If file-option isn't used, 'remove' feature had to use both user and system
config file and 'set' feature had to only handle user config file.)
(PATCH v6 5/7, PATCH v6 7/7)

Changes in v5:
- Simplify the switch statement in cmd_config()
- Set a config file path with '--system' or '--user'
instead of '--global' or '--system' as suggested by Namhyung. (PATCH v5 2/6)
- The patch about 'get' and 'set 'split into two patchs
as suggested by Namhyung. (PATCH v5 4/6, PATCH v5 5/6)

Changes in v4:
- If some config value is default value, notice it is '(default)'
as suggested by Jirka. (PATCH v4 3/5)

- If there wasn't any perfconfig file, perf-config malfunctioned like
Jirka pointed out. So add exception routine with '--global' and '--system'
option which can select perf config file path. (PATCH v4 2/5)

Changes in v3:
- Add a config variable 'kmem.default' with a default value as suggested by Namhyung.
(PATCH v3 2/5, PATCH v4 3/5)

Changes in v2:
- Change option name of listing all configs as '--list-all' instead of '--all'
as suggested by Namhyung. (PATCH v2 3/4, PATCH v4 4/5)

- Correct small infelicities or typing errors in a perf-config documention
as suggested by Arnaldo. (PATCH v2 1/4, PATCH v4 1/5)

- Declaration a global variable 'static struct default_configsets' has config variables
with default values instead of using a 'util/PERFCONFIG-DEFAULT' file.
(PATCH v2 3/4, PATCH v4 3/5)

- Add a function to normalize a value and check data type of it.
(PATCH v2 2/4, PATCH v4 3/5)

- Simplify parsing arguments as arguments is just divided by '=' and then
in front of '.' is a section, between '.' and '=' is a name, and behind '=' is a value.
(PATCH v2 2/4, PATCH v4 3/5)

- If run perf-config command without any option, perf-config work as '--list'.
(PATCH v2 1/4, PATCH v4 1/5)

Taeung Song (22):
perf config: Document variables for 'color' section in man page
perf config: Document variables for 'tui' and 'gtk' sections in man
page
perf config: Document 'buildid.dir' variable in man page
perf config: Document variables for 'annotate' section in man page
perf config: Document variables for 'help' section in man page
perf config: Document 'hist.percentage' variable in man page
perf config: Document 'ui.show-headers' variable in man page
perf config: Document variables for 'call-graph' section in man page
perf config: Document variables for 'report' section in man page
perf config: Document 'top.children' variable in man page
perf config: Document 'man.viewer' variable in man page
perf config: Document 'pager.<subcommand>' variables in man page
perf config: Document 'kmem.default' variable in man page
perf config: Add '--system' and '--user' options to select which
config file is used
perf config: Collect configs to handle config variables
perf config: Add 'list-all' option to perf-config
perf config: Add a option 'skel' to perf-config
perf config: Add --verbose option for showing config description
perf config: Add 'get' functionality
perf config: Add 'set' feature
perf config: normalize a value depending on default type of it
perf config: Add a option 'remove' to perf-config

tools/perf/Documentation/perf-config.txt | 361 +++++++++++++++-
tools/perf/builtin-config.c | 709 ++++++++++++++++++++++++++++++-
tools/perf/util/cache.h | 20 +
tools/perf/util/config.c | 31 +-
4 files changed, 1107 insertions(+), 14 deletions(-)

--
1.9.1