Changes in v4:
        - If some config value is default value, notice it is '(default)'as 
below.

          # perf config colors.normal
          colors.normal=lightgray, default (default)

        - A config file path is only decided in perf_config().
        And a perf-config command depend on perf_config() deciding a config 
file path.
        So if the config file path is NULL because of some reason like no such 
file,
        a perf-config command can't write to the file. So, I added new options
        which are '--global' and '--system' to be enable to select
        config file path to be used without perf_config().

Changes in v3:
        - Add a config variable 'kmem.default' with a default value
        into 'struct default_configset' which has default config variables and 
values.

        - Add a option '--global' and '--local' to enable config file location 
to  be selected

Changes in v2:
        - Renaming variables a more suitable name
          1. '--list-all' instead of '--all'
          2. 'name' instead of 'subkey'
          3. 'section, name, value' instead of 'given_section, subkey, value'

        - Correct small infelicities or typing errors in a perf-config 
documention.

        - Remove a part description of report.children
        because it was duplicated in 
Documentation/callchain-overhead-calculation.txt

        - Use a variable 'int actions' instead of struct params which has
        'bool list_action' , 'bool get_action’ and etc. , to simplify a 
branching statement
        for perf-config options.

        - Declaration a global variable 'static struct default_configsets' has 
config variables
        with default values instead of using a 'util/PERFCONFIG-DEFAULT' file
        and remove functions merge() and perse_key() to get perf config default 
values.

        - Add a function to normalize a value and check data type of it.

        - 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.

        - Print config variables 'struct default_configsets' haven't 

        - Make a command ’perf config' without a option work as with a option 
'—list'
        instead of '--list-all’.

Taeung Song (5):
  perf tools: Add 'perf-config' command
  perf config: Add '--system' and '--global' options to be able to
    select which config file to be used
  perf config: Add functions which can get or set perf config variables
  perf config: Add a option 'list-all' to perf-config
  perf config: Add a option 'remove' to perf-config

 tools/perf/Build                            |   1 +
 tools/perf/Documentation/perf-config.txt    | 407 ++++++++++++++++
 tools/perf/Documentation/perfconfig.example |  73 ++-
 tools/perf/builtin-config.c                 | 718 ++++++++++++++++++++++++++++
 tools/perf/builtin.h                        |   1 +
 tools/perf/command-list.txt                 |   1 +
 tools/perf/perf.c                           |   1 +
 tools/perf/util/cache.h                     |  19 +
 tools/perf/util/config.c                    |  29 +-
 9 files changed, 1236 insertions(+), 14 deletions(-)
 create mode 100644 tools/perf/Documentation/perf-config.txt
 create mode 100644 tools/perf/builtin-config.c

-- 
1.9.1

--
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